LeetCode - Candy
来源:互联网 发布:arm单片机型号 编辑:程序博客网 时间:2024/06/12 08:43
https://leetcode.com/problems/candy/
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?
这道题的解法是:1.从左往右扫描,如果当前数比前一个数大,那么当前位置的糖果是前一位置的糖果加1,否则当前位置糖果为1.
2.从右往左扫描,如果当前数比后一个数大,那么当前位置的糖果是后一位置的糖果加1和自己本身有的糖果数的最大值,否则保持自己的糖果数不变。
3.扫描candy数组,求和。
public class Solution { public int candy(int[] ratings) { int[] candy = new int[ratings.length]; candy[0] = 1; for(int i=1; i<ratings.length; i++){ if(ratings[i]>ratings[i-1]) candy[i]=candy[i-1]+1; else candy[i] = 1; } for(int i=ratings.length-2; i>=0; i--){ if(ratings[i]>ratings[i+1]) candy[i] = Math.max(candy[i], candy[i+1]+1); } int total = 0; for(int i=0; i<candy.length; i++){ total += candy[i]; } return total; }}
0 0
- Leetcode: Candy
- LeetCode:Candy
- [leetcode]Candy
- Leetcode: Candy
- 【leetcode】Candy
- LeetCode:Candy
- [LeetCode] Candy
- [LeetCode]Candy
- [LeetCode] Candy
- 【LeetCode】Candy
- LeetCode | Candy
- Leetcode: Candy
- Candy - LeetCode
- leetcode Candy
- LeetCode Candy
- candy leetcode
- Candy -- LeetCode
- [LeetCode] Candy
- CSS notes
- LeetCode(169) Majority Element (Java)
- 初学stm32-环境搭建——stm32和IAR配置
- [Leetcode] 139. Work Break
- LeetCode(026) Remove Duplicates from Sorted Array (Java)
- LeetCode - Candy
- UI 界面的编写工作,到底应该用 xib/storyboard 完成,还是用手写代码来完成?
- java反射机制
- 单片机的烧写原理
- Pretty print binary tree
- [Leetcode] 140. Work Break II
- Python 传递可变长参数
- windows下安装apache及php需要注意的问题
- 嵌入式 linux 第四课 内存管理单元MMU