LeetCode 第 224 場周賽

2021-10-16 08:14:41 字數 1544 閱讀 9406

刷題

5653. 可以形成最大正方形的矩形數目

比較水,簡單模擬,不講了。

5243. 同積元組

雜湊記錄乘積結果,每個乘積的貢獻是:4×c

nt×(

cnt−

1)

4\times cnt\times (cnt-1)

4×cnt×

(cnt

−1)

怎麼來的,從cnt

cntcn

t中選2

22對:cnt

(cnt

−1)2

\dfrac

2cnt(c

nt−1

)​兩隊共有8=a

2222

=8

8=a_2^2 2^2=8

8=a22​

22=8

種情況5655. 重新排列後的最大子矩陣

這一題學到了,貪心排序。

先列舉答案子矩形的底部行。

然後我們要預處理出對於當前行的每一列向上的最大1個數,這個可以通過dpdp

dp求出來。

因為列可以交換,所以對列排序,每次取最值ans

=max

(ans

,b[j

]×(w

−j))

ans=max(ans,b[j]\times (w-j))

ans=ma

x(an

s,b[

j]×(

w−j)

)。因為後面的1個數大於等一前面的1個數,所以從該位置開始往後肯定可以組成乙個矩形。

**

class

solution}}

int ans=0;

for(

int i=

0;i)return ans;}}

;

5529. 貓和老鼠 ii

這題不會,看了yxc的講解看懂了,實質是記憶化搜素。

搜尋的時候需要記錄老鼠和貓的位置和當前是第幾輪。

注意輪數大於幾百就可以返回貓贏了,不需要返回1000,不然會超時。

int f[8]

[8][

8][8

][200]

;class

solution

;int dy[4]

=;intdfs

(int cx,

int cy,

int mx,

int my,

int k)

return v=1;

}else

return v=0;

}}bool

canmousewin

(vector

& grid,

int catjump,

int mousejump)

memset

(f,-1,

sizeof f)

;return

dfs(cx,cy,mx,my,0)

;}};

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...