码迷,mamicode.com
首页 > 编程语言 > 详细

(数组) leetcode 1144

时间:2019-12-30 11:32:19      阅读:66      评论:0      收藏:0      [点我收藏+]

标签:span   tco   +=   div   public   重复   src   它的   ++   

技术图片

 

 

class Solution {
public:
    int movesToMakeZigzag(vector<int>& nums) {
        //判断每个位置 i 对于它的前后 i-1 和 i+1 需要减少多少
        //按照奇偶分类保存
        int ans[2]={0};
        for(int i=0; i<nums.size(); i++){
            int d1=0, d2=0;
            if(i>0 && nums[i] >= nums[i-1]){
                //对于位置i的前面i-1所需减少的最小操作数
                d1 = nums[i] - nums[i-1] +1;
            }
            if(i<nums.size()-1 && nums[i] >= nums[i+1]){
                //对于位置i的后面i+1所需减少的最小操作数
                d2 = nums[i] - nums[i+1] +1;
            }
            //ans[0]保存偶数位, ans[1]保存奇数位
            //对于位置i,只需要减去前后操作数的较大值,不能重复减
            ans[i%2] += max(d1, d2);  
        }
        return min(ans[0], ans[1]);
    }
};

(数组) leetcode 1144

标签:span   tco   +=   div   public   重复   src   它的   ++   

原文地址:https://www.cnblogs.com/Bella2017/p/12118602.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!