第一次做周賽,只做出了兩道題,主要問題是數學基礎不牢並且對於字串kmp演算法沒掌握。
因為資料量比較小,所以採取了暴力直接insert。
/*
輸入:nums = [0,1,2,3,4], index = [0,1,2,2,1]
輸出:[0,4,1,3,2]
解釋:nums index target
0 0 [0]
1 1 [0,1]
2 2 [0,1,2]
3 2 [0,1,3,2]
4 1 [0,4,1,3,2]
*/class
solution
else
res[j]
= pre;}}
return res;}}
;
沒做出來,暴力解法。
/*
輸入:nums = [21,4,7]
輸出:32
解釋:21 有 4 個因數:1, 3, 7, 21
4 有 3 個因數:1, 2, 4
7 有 2 個因數:1, 7
答案僅為 21 的所有因數的和。
*/class
solution
if(x%i ==0)
if(cnt >4)
break;}
if(cnt ==
4) res += sum;
}return res;}}
;
bfs套路+複製貼上
/*
給你乙個 m x n 的網格 grid。網格裡的每個單元都代表一條街道。grid[i][j] 的街道可以是:
1 表示連線左單元格和右單元格的街道。
2 表示連線上單元格和下單元格的街道。
3 表示連線左單元格和下單元格的街道。
4 表示連線右單元格和下單元格的街道。
5 表示連線左單元格和上單元格的街道。
6 表示連線右單元格和上單元格的街道。
*/class
solution
return
false;}
void
generate
(int i,
int j,
int key, vectorint>
>
& grid, vectorint>
>
& visited)
if(j+
1(grid[i]
[j+1]==
1or grid[i]
[j+1]==
3or grid[i]
[j+1]==
5)and visited[i]
[j+1]!=
-1)break;}
case2:
if(i+
1(grid[i+1]
[j]==
2or grid[i+1]
[j]==
5or grid[i+1]
[j]==6)
and visited[i+1]
[j]!=-1
)break;}
case3:
if(i+
1(grid[i+1]
[j]==
2or grid[i+1]
[j]==
5or grid[i+1]
[j]==6)
and visited[i+1]
[j]!=-1
)break;}
case4:
if(i+
1(grid[i+1]
[j]==
2or grid[i+1]
[j]==
5or grid[i+1]
[j]==6)
and visited[i+1]
[j]!=-1
)break;}
case5:
if(i-
1>=
0and
(grid[i-1]
[j]==
2or grid[i-1]
[j]==
3or grid[i-1]
[j]==4)
and visited[i-1]
[j]!=-1
)}case6:
if(i-
1>=
0and
(grid[i-1]
[j]==
2or grid[i-1]
[j]==
3or grid[i-1]
[j]==4)
and visited[i-1]
[j]!=-1
)}}}
};
其實就是求next的陣列。
class
solution
else k=next[k];}
return s.
substr(0
,next[len]);
}};
leetcode第 181 場周賽
給你兩個整數陣列nums和index。你需要按照以下規則建立目標陣列 請你返回目標陣列。題目保證數字插入位置總是存在。輸入 nums 0,1,2,3,4 index 0,1,2,2,1 輸出 0,4,1,3,2 解釋 nums index target 0 0 0 1 1 0,1 2 2 0,1,2...
LeetCode 第181場周賽解題報告
因為資料量較小,可以使用o n 2 o n 2 o n2 的暴力方案。借助 std vector insert 方法快速實現。class solution return infovec 先思考最直接的方法 列舉每個數的因子。設最大值為m mm,則時間複雜度為o n m o n m o n m 檢查每...
leetcode 第132場周賽
愛麗絲和鮑勃一起玩遊戲,他們輪流行動。愛麗絲先手開局。最初,黑板上有乙個數字n。在每個玩家的回合,玩家需要執行以下操作 如果玩家無法執行這些操作,就會輸掉遊戲。只有在愛麗絲在遊戲中取得勝利時才返回true,否則返回false。假設兩個玩家都以最佳狀態參與遊戲。示例 1 輸入 2輸出 true解釋 愛...