Leetcode 第 202 場周賽

2021-10-09 05:44:21 字數 2271 閱讀 9886

感覺就是拼手速的比賽,沒什麼意思,再打幾次把排名打到前面就不打了。

存在連續三個奇數的陣列

給你乙個整數陣列 arr,請你判斷陣列中是否存在連續三個元素都是奇數的情況:如果存在,請返回 true ;否則,返回 false 。

class

solution

}return

false;}

};

使陣列中所有元素相等的最小運算元

存在乙個長度為 n 的陣列 arr ,其中 arr[i] = (2 * i) + 1 ( 0 <= i < n )。

一次操作中,你可以選出兩個下標,記作 x 和 y ( 0 <= x, y < n )並使 arr[x] 減去 1 、arr[y] 加上 1 (即 arr[x] -=1 且 arr[y] += 1 )。最終的目標是使陣列中的所有元素都 相等 。題目測試用例將會 保證 :在執行若干步操作後,陣列中的所有元素最終可以全部相等。

給你乙個整數 n,即陣列的長度。請你返回使陣列 arr 中所有元素相等所需的 最小運算元 。

class

solution

else

int ans =0;

for(

int i =

0;i < n;i++

)return ans /2;

}};

兩球之間的磁力

在代號為 c-137 的地球上,rick 發現如果他將兩個球放在他新發明的籃子裡,它們之間會形成特殊形式的磁力。rick 有 n 個空的籃子,第 i 個籃子的位置在 position[i] ,morty 想把 m 個球放到這些籃子裡,使得任意兩球間 最小磁力 最大。

已知兩個球如果分別位於 x 和 y ,那麼它們之間的磁力為 |x - y| 。

給你乙個整數陣列 position 和乙個整數 m ,請你返回最大化的最小磁力。

思路:

直接二分就好了

class

solution

}return cnt >= m;

}int

maxdistance

(vector<

int>

& position,

int m)

else

}return ans;}}

;

吃掉 n 個橘子的最少天數

廚房裡總共有 n 個橘子,你決定每一天選擇如下方式之一吃這些橘子:

吃掉乙個橘子。

如果剩餘橘子數 n 能被 2 整除,那麼你可以吃掉 n/2 個橘子。

如果剩餘橘子數 n 能被 3 整除,那麼你可以吃掉 2*(n/3) 個橘子。

每天你只能從以上 3 種方案中選擇一種方案。

請你返回吃掉所有 n 個橘子的最少天數。

示例 1:

輸入:n = 10

輸出:4

解釋:你總共有 10 個橘子。

第 1 天:吃 1 個橘子,剩餘橘子數 10 - 1 = 9。

第 2 天:吃 6 個橘子,剩餘橘子數 9 - 2*(9/3) = 9 - 6 = 3。(9 可以被 3 整除)

第 3 天:吃 2 個橘子,剩餘橘子數 3 - 2*(3/3) = 3 - 2 = 1。

第 4 天:吃掉最後 1 個橘子,剩餘橘子數 1 - 1 = 0。

你需要至少 4 天吃掉 10 個橘子。

示例 2:

輸入:n = 6

輸出:3

解釋:你總共有 6 個橘子。

第 1 天:吃 3 個橘子,剩餘橘子數 6 - 6/2 = 6 - 3 = 3。(6 可以被 2 整除)

第 2 天:吃 2 個橘子,剩餘橘子數 3 - 2*(3/3) = 3 - 2 = 1。(3 可以被 3 整除)

第 3 天:吃掉剩餘 1 個橘子,剩餘橘子數 1 - 1 = 0。

你至少需要 3 天吃掉 6 個橘子。

示例 3:

輸入:n = 1

輸出:1

示例 4:

輸入:n = 56

輸出:6

思路:

這個題還挺有意思的。dp方程不難想到,就是這樣記憶化搜尋嘛。但是理論上每個點有3個子狀態,最多可以有20層,那不是早就爆了嗎。

不過事實上加上記憶化後狀態很少,很容易就可以搜到結果了。感覺特別迷惑

class

solution

intmindays

(int n)

};

LeetCode第202場周賽

用等差數列求和公式計算一下就知道,不管n為多少,所有數的和都是n 2,這樣平均數就是n,由於陣列前半部分和後半部分關於n對稱 關於中間位置對稱的兩個位置的 兩個元素相加和為2 n 所以我們只需要遍歷陣列的前半部分,把所有數和n的差值加起來,就是最終的答案了。首先,題目給的position陣列可能是無...

LeetCode 第 202 場周賽 題解

思路 暴力 簽到題,暴力遍歷即可。class solution return false 複雜度分析 遍歷陣列,時間複雜度o n 沒有使用額外變數,空間複雜度為o 1 思路 數學 根據題意,可以直接將陣列以中心元素為對稱點,兩兩配對,操作的次數相同。所以只需要針對陣列長度奇偶進行分析即可。實現細節 ...

LeetCode 第202場周賽題解報告

5185.存在連續三個奇數的陣列 從 i 2 開始列舉,檢查 arr i 2 arr i 1 arr i 是否均為奇數。class solution return false 5488.使陣列中所有元素相等的最小運算元 陣列 arr 滿足 arr i 2 i 1 0 i n 其所有元素的累加和為 2...