Leetcode-5147 Decrease Elements To Make Array Zigzag(递减元素使数组呈锯齿状)

Posted asurudo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode-5147 Decrease Elements To Make Array Zigzag(递减元素使数组呈锯齿状)相关的知识,希望对你有一定的参考价值。

 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<int>& 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                     else
25                     
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                     else
54                     
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 ;

 

以上是关于Leetcode-5147 Decrease Elements To Make Array Zigzag(递减元素使数组呈锯齿状)的主要内容,如果未能解决你的问题,请参考以下文章

[模拟]Decrease (Judge ver.)

Decrease (Contestant ver.) AtCoder - 2661

D - Decrease (Contestant ver.) AtCoder - 2661

估算器的参数 min_impurity_decrease 无效

079C.D Decrease 构造+思维

Python3 用 zip 编译 App Decrease Size?