• 『百日百题 · 基础篇』备战面试,坚持刷题 第四话——循环语句!


    本专栏『百日百题』长期更新,一起加入本刷题计划,一起成长吧!


    前言

    怎么样刷题?

    有些同学喜欢上来就是干,上来就是终极难度的题目,觉得自己只要做出最难的,其它的就迎刃而解了。这种急于求成的思想要不得。

    算法训练是一个系统工程,需要循序渐进,太过于急功近利,反而容易因做不出难题而产生挫败感,带来反效果。

    记得我有一个同事就做了次类似的事情。我当时刚听说有牛客网,就想上去试试,他上去后就挑了一道困难里面还属于比较难的题目,结果想了大半天也没做出来,搞到自己特别沮丧。

    你会发现这种做法效率很低,那道题目就算被做出来了,也不代表就可以解出其它的题目。

    合理的做法是循序渐进。

    我的建议是先刷一遍基础语法题,打好基础在进一步刷算法题,这样首先对这个语言的基础语法和常用API是绝对没有问题的,在后面刷算法题的时候也肯定会事半功倍的!

    本专栏文章即将带你从基础语法到高级算法,循序渐进持续练习,加入刷题计划一起加油吧!


    对于刷题这里我推荐牛客网如果你对相应语言的基础语法已经比较自信了那你也可以刷算法题,这里牛客网对算法题的难度分类也是很棒的,有入门题,面试必刷题,面试高频题等等。如果基础比较差那么也不用担心,牛客网上面也有基础语法题来帮助你更好地学习基础。

    为了方便刷题我直接把牛客网的链接放在下面,大家点击蓝色字体就可以直接进行跳转刷题了!

    传送门:刷题入口

    在这里插入图片描述

    专栏文章即将带你从基础语法到高级算法,循序渐进持续练习,加入刷题计划一起加油吧!


    JAVA9 数列求和【循环】

    题目:
    在这里插入图片描述
    题解:

    public class Main {
        public static void main(String[] args) {
            String a = "9";
            long sum = 0;
            for(int i = 0;i<10;i++){
                sum = Long.parseLong(a) + sum;
                a = a + "9";
            }
            System.out.println(sum);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    JAVA10 统计输入正数个数【循环】

    题目:
    在这里插入图片描述
    题解:

    import java.util.*;
    
    public class Main {
        public static void main(String[] args) {
            int count = 0;
            Scanner scanner = new Scanner(System.in);
            // 极致压行处理
            while (scanner.nextInt() > 0) count++;
            System.out.println(count);
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    JAVA11 求最小公倍数【循环】

    题目:
    在这里插入图片描述
    题解:

    import java.util.*;
    
    public class Main {
        public static void main(String[] args) {
            Scanner console = new Scanner(System.in);
            int m = console.nextInt();
            int n = console.nextInt();
            int result = getCM(m, n);
            System.out.println(result);
        }
    
        public static int getCM(int m, int n){
        //最小公倍数等于其中一个数除于最大公约数再乘以另一个数
            return m/getGCD(m,n)*n;
        }
        //定义一个求最大公约数的方法
        public static int getGCD(int a,int b){
        	//如果数a除以数b为0,那b就是它们的最大公约数
            int m=a%b;
            //如果不为0,交换把b当成a,把原来不为0的余数当成b,继续用a除以b,直到最后结果为0,那此时的数b则为最大公约数
            while(m!=0){
                a=b;
                b=m;
                m=a%b;
            }
            return b;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    JAVA12 小球走过路程计算【循环】

    题目:
    在这里插入图片描述
    题解:

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner scanner=new Scanner(System.in);
             // 下落的高度和落地的次数
            float h=scanner.nextFloat();
            int n =scanner.nextInt();
            float dis = 0;
            for(int i = 0; i < n; i++){
                dis += h;  //每次加上落下来的距离
                h /= 2; //弹起距离缩短一半
                if(i == n - 1){
                    System.out.println(String.format("%.3f", h)+" "+String.format("%.3f", dis));
                }
                dis += h; //弹上去走的距离
            }
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    结语

    为了方便刷题我直接把刷题网站的链接放在下面,大家点击蓝色字体就可以直接进行跳转刷题了!

    传送门:刷题神器

    刷题这件事,大家一定要认真起来,不可懈怠!

    日积月累,方成大器!

  • 相关阅读:
    Redis集群模式
    设计模式入门
    我的UI自动化测试的感悟
    安装IntelliJ IDEA
    低代码平台选型(一)| 引擎篇
    多态(个人学习笔记黑马学习)
    vue 性能优化方案
    软件开发进度中,如何进行高风险预警管理?
    kotlin协程与线程池
    计算机存储文字码的底层实现和JAVA选择UTF-16存储char的原因
  • 原文地址:https://blog.csdn.net/apple_51673523/article/details/126097239