您的位置:首页 > 其它

leetcode 138: Candy (incompleted)

2013-12-10 01:33 387 查看

Candy

Total Accepted: 3585
Total Submissions: 22902

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?

wrong answer:

class Solution {
public:
int candy(vector<int> &ratings) {
if(ratings.size()<1) return 0;
if(ratings.size()<2) return 1;

int sum = 1;
int pre = 1;
int min = 1;
for(int i=1; i<ratings.size(); i++) {
int cur;
if(ratings[i]<ratings[i-1]) {
cur = pre -1;
} else if(ratings[i]>ratings[i-1]) {
cur = pre + 1;
} else {
cur = 1;
}
min = min<cur ? min : cur;
sum += cur;
pre = cur;
}
return sum + (1-min)*ratings.size();
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: