博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode-5147 Decrease Elements To Make Array Zigzag(递减元素使数组呈锯齿状)
阅读量:5232 次
发布时间:2019-06-14

本文共 2116 字,大约阅读时间需要 7 分钟。

1 #define _for(i,a,b) for(int i = (a);i < b;i ++) 2 typedef long long ll; 3 using namespace std; 4  5 class Solution 6 { 7     public: 8         int movesToMakeZigzag(vector
& nums) 9 {10 int rnt1 = 0;11 int rnt2 = 0;12 13 _for(i,1,nums.size())14 {15 if(i&0x1)16 {17 if(i==nums.size()-1)18 {19 if(nums[i]>=nums[i-1])20 {21 rnt1 += nums[i]-(nums[i-1]-1);22 }23 }24 else25 {26 if(nums[i]>=nums[i-1] || nums[i]>=nums[i+1])27 {28 rnt1 += nums[i]-(min(nums[i-1],nums[i+1])-1);29 }30 }31 }32 33 }34 _for(i,0,nums.size())35 {36 37 if((i&0x1)==0)38 {39 if(i==0)40 {41 if(nums[i]>=nums[i+1])42 {43 rnt2 += nums[i]-(nums[i+1]-1);44 }45 }46 else if(i==nums.size()-1)47 {48 if(nums[i]>=nums[i-1])49 {50 rnt2 += nums[i]-(nums[i-1]-1);51 }52 }53 else54 {55 if(nums[i]>=nums[i-1] || nums[i]>=nums[i+1])56 {57 rnt2 += nums[i]-(min(nums[i-1],nums[i+1])-1);58 }59 }60 }61 // cout << rnt2 << endl;62 }63 // cout << rnt1 << " " << rnt2 << endl;64 return min(rnt1,rnt2);65 }66 };

 

转载于:https://www.cnblogs.com/Asurudo/p/11297881.html

你可能感兴趣的文章
内存溢出和内存泄漏
查看>>
css选择器
查看>>
tomcat简单使用
查看>>
CSS布局奇淫技巧之--各种居中
查看>>
清除浮动
查看>>
[Android] AutoCompleteTextView:自己主动完毕输入内容的控件(自己主动补全)
查看>>
Bayan 2015 Contest Warm Up D题(GCD)
查看>>
Java线程池应用
查看>>
vue-cli 一分钟搭建自己的vue项目
查看>>
标志设计案例-logo设计公司EOVAS
查看>>
input标签常用属性
查看>>
关于iBatis配置xml文件时出现中文注释出错的一个问题(很坑爹.)
查看>>
Hive查询表,返回数据全是NULL
查看>>
自我介绍
查看>>
从一个故事说起,谈谈企业应用架构的演变史
查看>>
x32下逆向 PsSetCreateProcessNotifyRoutine 进程钩子
查看>>
NSProxy
查看>>
Zkui安装
查看>>
PLSql工具介绍
查看>>
题目1052:找x
查看>>