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