码迷,mamicode.com
首页 > 其他好文 > 详细

冰凉的键盘挡不住炽热的心

时间:2021-03-08 13:50:41      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:for   turn   ++   自增   应该   数字   图书馆   不能   需要   

Integer max = null;
        //今天天气阴
        for (int i = 0; i < nums.length; i++) {
            boolean change = false;
            //我拿着雨伞来到青浦图书馆,当然这里j虽然是从比i大一个数的地方开始自增
            //但最后也需要将数字从开始的地方开始自增,直到快等于当前i的下标位置
            //当nums.length+1时,这个数字就是数组最大长度+1
            //而内层循环不能就这样让其超限,假如i是1(第二个数in数组)
            //那么nums[j]就应该等于nums[nums.length+1-nums.length]
            //此时也会是nums[1],即循环一圈过来的那个数组中数字
            for (int j = i + 1; j < nums.length + i; j++) {
                //当获取不到更大的数字,当j循环一次后又=i后,则说明没有就没有了
                //而如果此时j为>=nums.length,则说明已经开始了第二轮的循环,此时
                //j应该设定为j-nums.length
                if (j >= nums.length) {
                    //当循环过后又遇到i原有的样子,则continue,判断j<nums.length+1
                    //这时应该不会又循环碰到原来的i
                    if (nums[j - nums.length] > nums[i]) {
                        nums[i] = nums[j - nums.length];
                        change = true;
                        //当设定了一个目标,就不要再轻易改变,即使有更大的目标,也得先走好眼前的路
                        break;
                    }
                } else {
                    //假设i在第1位,那么此时j应该为2,如果此时j没有超过总长度
                    //那么就给其j原来应该设置的值
                    if (nums[j] > nums[i]) {
                        nums[i] = nums[j];
                        change = true;
                        //当设定了一个目标,就不要再轻易改变,即使有更大的目标,也得先走好眼前的路
                        break;
                    }
                }
                if(max!=null && max>nums[i]){
                    nums[i] = max;
                }

            }
            //如果你没有做任何改变,那么你就会变得更low
            if (!change) {
                //如果现在设定,下面又会将值赋值回去
                max = nums[i];
                if (max != null && nums[i] != max) {
                    System.out.println("max !=null");
                    if (max > nums[i]) {
                        System.out.println("max>nums[i]");
                        nums[i] = max;
                    }
                } else {
                    nums[i] = -1;
                }
                System.out.println("此时max:" + max);
                //如果当一个数,找不到比它更大的数字,
                //那么这个数字,很快就会被设定-1
                //为了之后的数,还能找到这个原本最大的数,
                //应该为这个数,保留一个副本,即说明这个数,应该是原有的最大的数
                //所以当你不改变,也要保有原有的样子,直到别人来仿效你
                //你才可以全身而退
            } else {

            }
        }
        return nums;

冰凉的键盘挡不住炽热的心

标签:for   turn   ++   自增   应该   数字   图书馆   不能   需要   

原文地址:https://www.cnblogs.com/ukzq/p/14494224.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!