1144. 递减元素使数组呈锯齿状
Posted cznczai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1144. 递减元素使数组呈锯齿状相关的知识,希望对你有一定的参考价值。
class Solution
public int movesToMakeZigzag(int[] nums)
int temp1[] = new int[nums.length];
int temp2[] = new int[nums.length];
for (int i = 0; i < nums.length; i++)
temp1[i] = nums[i];
temp2[i] = nums[i];
int ans1 = 0;
int ans2 = 0;
for (int i = 1; i < temp1.length; i+=2) //两边小 中间大
if (temp1[i - 1] >= temp1[i])
ans1 += temp1[i - 1] - temp1[i] + 1;
temp1[i - 1] = temp1[i] - 1;
if (i + 1 < temp1.length && temp1[i + 1] >= temp1[i])
ans1 += temp1[i + 1] - temp1[i] + 1;
temp1[i + 1] = temp1[i] - 1;
for (int i = 1; i < temp2.length; i+=2) //两边小,中间大
if (temp2[i - 1] <= temp2[i])
ans2 += temp2[i] - temp2[i - 1] + 1;
temp2[i] = temp2[i - 1] - 1;
if (i + 1 < temp2.length && temp2[i + 1] <= temp2[i])
ans2 += temp2[i] - temp2[i + 1] + 1;
temp2[i] = temp2[i + 1] - 1;
return ans1 <= ans2 ? ans1 : ans2;
以上是关于1144. 递减元素使数组呈锯齿状的主要内容,如果未能解决你的问题,请参考以下文章
[LeetCode] 1144. Decrease Elements To Make Array Zigzag 递减元素使数组呈锯齿状
Leetcode-5147 Decrease Elements To Make Array Zigzag(递减元素使数组呈锯齿状)