知識點:列舉
這道題太直白了,沒啥花裡胡哨的東西,直接列舉起點,然後檢查是否至少有 k 段重複即可。
class
solution}if
(flag)
else
if(hit+
1>= k)}}
return
false;}
};
知識點:遞推設 pos[i] 是以 nums[i] 結尾,乘積為正的最長子陣列的長度。
設 neg[i] 是以 nums[i] 結尾,乘積為負的最長子陣列的長度。
為了編寫**方便,設 nums 下標從 1 開始。那麼 pos[0] = neg[0] = 0。
接下來討論一下 nums[i] 的值如何影響 pos[i] 及 neg[i] 的計算。
當 nums[i] 為負時:
int dp[
100001][
2];// dp[i][0] 即 pos,dp[i][1] 即 neg。
class
solution
else
if(nums[i-1]
>0)
else
anw =
max(anw, dp[i][0
]);}
return anw;}}
;
知識點:bfs,思維題有個比較搞喜
的地方:最多刪除兩次
必可使陸地分離。
每個格仔最多會有四條邊
和其他格仔相連。在邊上的格仔最多有三條邊
。在角上的最多有兩條邊
。無論島嶼長成什麼樣子,肯定是會有角的,所以最多隻需刪除兩次。
首先,判斷輸入本身就是分離的。
其次,暴力列舉刪除輸入中的乙個 1,然後判斷是否分離。
再其次,直接返回 2 就 ok 啦~
class
solution}if
(cnt ==0)
queue
int,
int>> q;
bool mark[30]
[30]=
; q.
push
(make_pair
(x, y));
mark[x]
[y]=
true
; cnt--
;while
(q.empty()
==false);
int dy=
;for
(int i =
0; i <
4; i++
) mark[nx]
[ny]
=true
; q.
push
(p);
cnt--;}
}}return cnt !=0;
}int
mindays
(vector
int>>
& grid)
for(
int i =
0; i < grid.
size()
; i++
) grid[i]
[j]=0;
if(check
(grid)
) grid[i]
[j]=1;
}}return2;}};
知識點:二叉搜尋樹;排列組合二叉查詢樹,又稱二叉排序樹,二叉搜尋樹。其特點是,右子樹中的元素都小於根節點,左子樹的元素都大於根節點,且左右子樹也都是二叉搜尋樹。當構造一棵二叉搜尋樹時,第乙個插入的元素必然是根節點
,其後插入的元素根據與根節點的大小關係被插入到左子樹或右子樹。
由此可知,如果兩種排列對應的二叉搜尋樹相同,那麼必然第乙個元素是相同
的。
設,小於第乙個的元素構成的序列為 less,大於第乙個的元素構成的序列為 greater。在不修改 less,greater 內部順序的前提下,調整 less + greater 這個大序列的順序
,就能得到乙個可以構造相同二叉樹的新序列。
換個說法,less 的順序確定了元素插入左子樹的順序,同樣的,greater 確定了元素插入右子樹的順序。至於,是先構造左子樹還是構造右子樹,並不重要
。所以 less + greater 的順序可以調整。
那為何 less 和 greater 的內部順序不能調整呢?其實不是不能調整,而是要放到構造左右子樹的時候再去調整
。
那麼,還剩最後乙個問題,less + greater,一共有多少符合要求排列方式呢?答案為 cle
ss.s
ize(
)+gr
eate
r.si
ze()
less
.siz
e()c^_
cless.
size
()+g
reat
er.s
ize(
)les
s.si
ze()
。也就是說,一共有 x 個坑,先選出一部分放 less,剩下的放 greater
。
最後將每個子樹的組合數累乘即可。
第 204 場周賽
周賽爆00000,慘!列舉起點,時間複雜度o n 2 我不知道怎麼列舉偏移量,看了y總的if arr j arr i j i m j i m是模式的偏移量,這一步妙!而且記得以i為起點,長度為k m的最右端點是 i k m 1 class solution if flag return true r...
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...