日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

LeetCode 1144. 递减元素使数组呈锯齿状(奇偶分别遍历)

發(fā)布時(shí)間:2024/7/5 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode 1144. 递减元素使数组呈锯齿状(奇偶分别遍历) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 題目

給你一個(gè)整數(shù)數(shù)組 nums,每次 操作 會(huì)從中選擇一個(gè)元素并 將該元素的值減少 1

如果符合下列情況之一,則數(shù)組 A 就是 鋸齒數(shù)組:

  • 每個(gè)偶數(shù)索引對(duì)應(yīng)的元素都大于相鄰的元素,即 A[0] > A[1] < A[2] > A[3] < A[4] > …
  • 或者,每個(gè)奇數(shù)索引對(duì)應(yīng)的元素都大于相鄰的元素,即 A[0] < A[1] > A[2] < A[3] > A[4] < …

返回將數(shù)組 nums 轉(zhuǎn)換為鋸齒數(shù)組所需的最小操作次數(shù)

示例 1: 輸入:nums = [1,2,3] 輸出:2 解釋:我們可以把 2 遞減到 0,或把 3 遞減到 1。示例 2: 輸入:nums = [9,6,1,6,2] 輸出:4提示: 1 <= nums.length <= 1000 1 <= nums[i] <= 1000

來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/decrease-elements-to-make-array-zigzag
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

2. 解題

  • 奇數(shù)位都小于兩側(cè),或者偶數(shù)位都小于兩側(cè),兩種情況取最小的操作次數(shù)
class Solution { // C++ public:int movesToMakeZigzag(vector<int>& nums) {int i = 1, n = nums.size(), op1 = 0, op2 = 0;int cur;for(i = 0; i < n; i++) {cur = nums[i];//目標(biāo): 都小于兩側(cè)if(i&1)//奇數(shù){if(cur >= nums[i-1]){op1 += cur-nums[i-1]+1;cur = nums[i-1]-1;}if(i+1 < n && cur >= nums[i+1])op1 += cur-nums[i+1]+1;}else{if(i > 0 && cur >= nums[i-1]){op2 += cur-nums[i-1]+1;cur = nums[i-1]-1;}if(i+1 < n && cur >= nums[i+1])op2 += cur-nums[i+1]+1;}}return min(op1, op2);} };

0 ms 7.2 MB

class Solution: # py3def movesToMakeZigzag(self, nums: List[int]) -> int:op1, op2 = 0, 0n = len(nums)for i in range(n):cur = nums[i]if i&1:if cur >= nums[i-1]:op1 += cur-nums[i-1]+1cur = nums[i-1]-1if i+1 < n and cur >= nums[i+1]:op1 += cur-nums[i+1]+1else:if i>0 and cur >= nums[i-1]:op2 += cur-nums[i-1]+1cur = nums[i-1]-1if i+1 < n and cur >= nums[i+1]:op2 += cur-nums[i+1]+1return min(op1, op2)

72 ms 13.8 MB

總結(jié)

以上是生活随笔為你收集整理的LeetCode 1144. 递减元素使数组呈锯齿状(奇偶分别遍历)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。