通过万岁!!!
- 题目:给你一个数组,然后进行累加。让你给出一个数,使得整个累加过程中sum+你给的那个数以后,不能出现小于1的数。并且你给的数必须是正数。
- 思路:我们就找到累加过程中最小值即可,如果最小值小于0,那么1-这个最小值就是我们要的结果。如果整个过程中最小的sum都是大于0的,那么这个值就返回1就可以了。
java代码
class Solution { public int minStartValue(int[] nums) { int min = nums[0]; int sum = nums[0]; min = Math.min(sum, min); for (int i = 1; i < nums.length; i++) { sum += nums[i]; min = Math.min(sum, min); } return min > 0 ? 1 : 1 - min; } }
- 总结:本身就是简单题,所以题目不难。