candy Java code

来源:互联网 发布:excel怎么更新数据 编辑:程序博客网 时间:2024/05/17 07:51

There are N children standing in a line. Each child is assigned a rating value.
You are giving candies to these children subjected to the following requirements:
Each child must have at least one candy.
Children with a higher rating get more candies than their neighbors.
What is the minimum candies you must give?

import java.util.*;public class Solution {        public int candy(int[] ratings) {        int n = ratings.length;        if(n==0 || ratings == null)            return 0;        int[] count = new int[n];        int sum=0;        //初始,每个孩子至少有一颗糖        Arrays.fill(count, 1);         for(int i=1; i<n; i++){            if(ratings[i] > ratings[i-1]){                count[i] = count[i-1]+1;            }        }        for(int i=n-1; i>0; i--){            if(ratings[i]<ratings[i-1] && count[i]>=count[i-1]){                count[i-1] = count[i]+1;            }            sum += count[i];        }        sum += count[0];        return sum;    }}
原创粉丝点击