LeetCode 第217場周賽

2021-10-10 23:40:54 字數 2062 閱讀 8507

5613. 最富有客戶的資產總量

簽到題:

ac**

class

solution

ans = math.

max(ans, sum);}

return ans;

}}

5614. 找出最具競爭力的子串行

思路:

題目讓我們求乙個長度為k的最小子序列。

維護乙個大小為k的單調棧操作

1.在每次入棧前需要將當前元素和棧頂元素做比較,如果棧頂元素大於當前元素,則一直彈出棧。當後面的數不夠k - st.size() + 1個時,停止出棧。

2.維護的是大小為k的單調棧,不能讓棧的個數超過k個。

注意:這裡的單調棧只是利用單調棧思想,裡面存的資料不一定是單調的

例如 nums = [4, 3, 5, 2], k = 4 ,那麼進入棧裡面的數不是單調的。

ac**
class

solution

if(st.

size()

< k)

}int

ans =

newint

[k];

while

(k >0)

return ans;

}}

5615. 使陣列互補的最少操作次數

思路差分 + 掃瞄

我們考慮任意乙個數對(a,b),不妨假設a≤b。假設最終選定的和值為ans∈[2, 2 * limit],則我們可以發現,對於(a,b)這個數對:

ans的取值範圍

需要的操作次數

[2, a + 1)

2[a + 1, a + b)

1= a + b

0(a + b, b + limit]

1(b + limit, 2 * limit]

2我們怎樣來表示這段範圍類的值?這時我們要用差分的思想,將陣列中l到r這個區間同時加乙個a,則直接用差分陣列d[l] += a, d[r + 1] -= a; 然後再去掃瞄2到limit * 2這段區間,找乙個最小的ans即可.

ac**

class

solution

//在[2, a + 1)這段區間需要兩次操作

dif[2]

+=2; dif[a +1]

-=2;//在[a + 1, a + b) 這個區間需要一次操作。

dif[a +1]

++; dif[a + b]--;

//在(a + b, b + limit]這段區間需要一次操作

dif[a + b +1]

++; dif[b + limit +1]

--;//在(b + limit, 2 * limit]這段區間需要兩次操作

dif[b + limit +1]

+=2; dif[

2* limit +1]

-=2;}

int res = nums.length;

int sum =0;

for(

int i =

2; i <= limit *2;

++i)

return res;

}}

5616. 陣列的最小偏移量

思路將所有數都變為可變範圍的最大值,然後不斷縮小最大的數,直到不能縮小為止。

首先我們知道奇數只能變一次(乘以2變成偶數),偶數能變若干次(不斷除以2).例如:3:3,8;8:1,2,4,8.

如果去雙向變的話是不好控制的,我們不妨單向的變,將其都變成最大的偶數,然後再不縮小最大的數,利用優先佇列找最大與最小的差值.

ac**

class

solution

int res = st.

last()

- st.

first()

;while

(st.

size()

>0&&

(st.

last()

&1)==

0)return res;

}}

leetcode 第132場周賽

愛麗絲和鮑勃一起玩遊戲,他們輪流行動。愛麗絲先手開局。最初,黑板上有乙個數字n。在每個玩家的回合,玩家需要執行以下操作 如果玩家無法執行這些操作,就會輸掉遊戲。只有在愛麗絲在遊戲中取得勝利時才返回true,否則返回false。假設兩個玩家都以最佳狀態參與遊戲。示例 1 輸入 2輸出 true解釋 愛...

leetcode周賽 第176場

題目描述 給你乙個 m n 的矩陣 grid,矩陣中的元素無論是按行還是按列,都以非遞增順序排列。請你統計並返回 grid 中 負數 的數目。示例 1 輸入 grid 4,3,2,1 3,2,1,1 1,1,1,2 1,1,2,3 輸出 8 解釋 矩陣中共有 8 個負數。示例 2 輸入 grid 3...

leetcode 第 180 場周賽

大佬都是3 5分鐘一題,而我10分鐘一題,最後一題還不會。qaq 5356.矩陣中的幸運數 給你乙個m n的矩陣,矩陣中的數字各不相同。請你按任意順序返回矩陣中的所有幸運數。幸運數是指矩陣中滿足同時下列兩個條件的元素 class solution object def luckynumbers se...