作者sixB (6B)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Tue Aug 13 01:49:53 2024
a十個零叔叔說刷題沒救了
可是我也不知道我還能幹嘛QQ
要轉什麼方向發展比較好啊
真的要學餐飲了嗎
703.
今天這題就pq
沒想清楚倒過來放就好
想說要random access
所以用vector做二分搜插入
不放扣出來醜人惹:(
1568.
也把昨天那題寫完了
突然就順順的跑完
縫縫補補分3個case
不過solution好像也差不多
昨天一直沒想清楚又一直改
以為每格都掃一次會很慢
constraint其實也才30*30
簡單來說就是我太笨
class Solution {
public:
int minDays(vector<vector<int>>& grid) {
int n = grid.size(), m = grid[0].size();
bool flag = false;
vector<vector<int>> check0 = grid;
int land = 0;
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
// 1 cut
if(grid[i][j] == 1) {
cut(check0, grid, i, j);
flag = true;
break;
}
}
if(flag) break;
}
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
if(check0[i][j] == 1) {
return 0;
}
if(grid[i][j] == 1) land++;
}
}
if(land <= 2) return land;
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
// 1 cut
vector<vector<int>> check = grid;
if(grid[i][j] == 1){
grid[i][j] = 0;
check[i][j] = 0;
if(i < n-1 and grid[i+1][j] == 1)
cut(check, grid, i+1, j);
else if(i > 0 and grid[i-1][j] == 1)
cut(check, grid, i-1, j);
else if(j < m-1 and grid[i][j+1] == 1)
cut(check, grid, i, j+1);
else if(j > 0 and grid[i][j-1] == 1)
cut(check, grid, i, j-1);
grid[i][j] = 1;
if((i < n-1 and check[i+1][j]) or\
(i > 0 and check[i-1][j]) or\
(j < m-1 and check[i][j+1]) or\
(j > 0 and check[i][j-1])){
cout << "COOL\n";
cout << i << " " << j << '\n';
return 1;
}
}
}
}
return 2;
}
void cut(vector<vector<int>>& check, vector<vector<int>>& grid, int i, int j){
if(i < 0 or i >= grid.size() or j < 0 or j >= grid[0].size()) return;
if(check[i][j] == 0) return;
check[i][j] = 0;
cut(check, grid, i-1, j);
cut(check, grid, i+1, j);
cut(check, grid, i, j-1);
cut(check, grid, i, j+1);
}
};
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.205.121.194 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1723484997.A.863.html
→ sixB: 上下左右可以用陣列 08/13 01:51
→ sixB: 多寫一個迴圈好像也沒少幾行 08/13 01:51
噓 a000000000: 尼可以去豬屎屋寫firmware還啥的 08/13 02:06
→ a000000000: 不過填reg這種事跟刷題關C沒很大 08/13 02:06
→ a000000000: 我最近還看過一堆矽谷刷題仔淪落到去豬屎屋作P&R 08/13 02:07
→ a000000000: 比CAD還慘 CAD好歹算寫程式der 08/13 02:07
推 ttucse: CAD是啥,寫verilog那種的嗎? 08/13 02:31
→ a000000000: 就在豬屎屋管各種tool的 像cadence synopsys賣得tool 08/13 02:48
推 ttucse: 噢噢,所以可能是寫shell script或python嗎? 08/13 02:54
噓 a000000000: 都有R 08/13 02:54
→ ttucse: 瞭了,感謝。 08/13 02:55
→ devilkool: 刷題仔會p&r喔@@ 08/13 02:58
噓 a000000000: 尼掛EE學位摸點vlsi也很正常八 08/13 03:05
→ sixB: 好像真的只能寫韌體惹 嵌入式還有機會ㄇ 08/13 05:13