题目:
题解:
思路:贪心
代码如下:
class Solution {
public:
int movesToMakeZigzag(vector<int>& a) {
int s[2]{};
for(int i=0,n=a.size();i<n;++i)
{
int left=i?a[i-1]:INT_MAX;
int right=i<n-1?a[i+1]:INT_MAX;
// i%2=0 表示偶数项减小;i%2=1 表示基数项减小。分别对应两种锯齿数组。
s[i%2]+=max(0,a[i]-min(left,right)+1);
}
return min(s[0],s[1]);
}
};