• leetcode——135.分发糖果


    暴力法,多次循环检查,直到满足条件。

    public int candy(int[] ratings) {
            int[] candies = new int[ratings.length];
            Arrays.fill(candies,1);
            boolean flag = true;
            int sum = 0;
            while(flag){
                flag = false;
                for(int i = 0;i<ratings.length;i++){
                    if(i!=ratings.length -1 && ratings[i] >ratings[i+1] && candies[i] <= candies[i+1]){
                        candies[i] = candies[i+1] + 1;
                        flag = true;
                    }
                    if(i>0 && ratings[i] > ratings[i-1] && candies[i] <= candies[i-1]){
                        candies[i] = candies[i-1]+1;
                        flag = true;
                    }
                }
            }
            for(int candy: candies){
                sum += candy;
            }
            return sum;
        }

     挺慢的。。。。

    方法二,用两个数组,这个方法和我自己的思路比较像

    public int candy(int[] ratings) {
            int sum = 0;
            int[] left2right = new int[ratings.length];
            int[] right2left = new int[ratings.length];
            Arrays.fill(left2right, 1);
            Arrays.fill(right2left, 1);
            for (int i = 1; i < ratings.length; i++) {
                if (ratings[i] > ratings[i - 1]) {
                    left2right[i] = left2right[i - 1] + 1;
                }
            }
            for (int i = ratings.length - 2; i >= 0; i--) {
                if (ratings[i] > ratings[i + 1]) {
                    right2left[i] = right2left[i + 1] + 1;
                }
            }
            for (int i = 0; i < ratings.length; i++) {
                sum += Math.max(left2right[i], right2left[i]);
            }
            return sum;
        }

    ——2020.7.13

    我的前方是万里征途,星辰大海!!
  • 相关阅读:
    hive参数配置及任务优化
    python基础篇_002_基础数据类型
    python基础篇_001_初识Python
    Java 修饰符
    Java 构造代码块
    Java static 关键字
    Java 继承
    37 自定义异常
    36 异常
    35 异常
  • 原文地址:https://www.cnblogs.com/taoyuxin/p/13293728.html
Copyright © 2020-2023  润新知