Candy
2016-02-22 19:07
232 查看
题目:
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?
Cpp版本:
Java:
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?
Cpp版本:
class Solution { public: int candy(vector<int>& ratings) { int len = ratings.size(); if (ratings.empty()) return 0; if (len == 1) return 1; int *Candy = new int[len]; Candy[0] = 1; for (int i = 1; i < len; i++) { if (ratings[i] > ratings[i - 1]) { Candy[i] = Candy[i - 1] + 1; } else { Candy[i] = 1; } } for (int i = len - 2; i >= 0; i--) { if (ratings[i] > ratings[i + 1] && Candy[i] <= Candy[i+1]) Candy[i] = Candy[i + 1] + 1; } int ret = 0; for (int i = 0; i < len; i++) { ret += Candy[i]; } return ret; } };
Java:
public class Solution { public int candy(int[] ratings) { int size = ratings.length; if (size == 0) return 0; if (size == 1) return 1; int[] Candy = new int[size]; Candy[0] = 1; for (int i = 1; i < size; i++) { if (ratings[i] > ratings[i - 1]) Candy[i] = Candy[i - 1] + 1; else Candy[i] = 1; } for (int i = size - 2; i >= 0; i--) { if (ratings[i] > ratings[i + 1] && Candy[i] <= Candy[i + 1]) { Candy[i] = Candy[i + 1] + 1; } } int ret = 0; for (int i = 0; i < size; i++) { ret += Candy[i]; } return ret; } }
相关文章推荐
- [BZOJ 1492]货币兑换Cash
- c++ 排序算法总结
- Android 启动时间优化 <22>
- HDOJ-1081 To The Max
- iOS蓝牙开发(一)蓝牙相关基础知识
- c++ 排序算法总结
- ps切图(5)——图层原理及其操作
- database export import
- uva 10720 Graph Construction
- dstat系统分析工具的使用
- LeetCode 94. Binary Tree Inorder Traversal
- jQuery和ExtJS的timeOut超时问题和event事件处理问题
- install wine on ubuntu
- 谁有(爱普生R290维修程序)
- 给大一学生:让积累说话
- mySQL相关函数的使用
- UVAOJ 821 Page Hopping(最短路)
- 性能测试(二):性能测试的分析步骤
- jquery的delegate实现原理
- a kind of programming font on linux -- Inconsolata