题目 |
题目传送门:传送门(点击此处)
题解 |
思路
想形成递减序列,其实两两比较即可
对于 ai
,只能不变或者减一
拿a1和a2来说,有这么几种情况:
a1 + 1 < a2
例如:1 和 3a1 + 1 = a2
例如:2 和 3a1 = a2
例如:3 和 3a1 = a2 + 1
例如:4 和 3a1 > a2 + 1
例如:5 和 3
其实我们只考虑 4
和 5
的情况即可,只要 a2
比 a1
大,我们就让 a2
减 1
,如果减 1
之后 a2
依旧比 a1
大,那么就可以直接返回 NO
了
code
package solution51;
class Solution {
public String solution(int n, int[] nums) {
if(n > 1) {
if(nums[0] > nums[1]) nums[0]--;
}
for (int i = 1; i < n; i++) {
if (nums[i] > nums[i - 1]) {
nums[i]--;
}
if (nums[i] < nums[i - 1]) return "NO";
}
return "YES";
}
}