寫在最後
題目一:千位分隔數
給你乙個整數n
,請你每隔三位新增點(即 「.」 符號)作為千位分隔符,並將結果以字串格式返回。
示例 1:
輸入:n = 987
輸出:「987」
示例 2:
輸入:n = 1234
輸出:「1.234」
示例 3:
輸入:n = 123456789
輸出:「123.456.789」
本題直接模擬即可,如果使用棧來實現最好從最後面開始,因為我們拿到的數字不一定是3的倍數。
class
solution
}return sb.
reverse()
.tostring();}}
題目二:可以到達所有點的最少點數目
給你乙個 有向無環圖 , n 個節點編號為 0 到 n-1 ,以及乙個邊陣列 edges ,其中 edges[i] = [fromi, toi] 表示一條從點 fromi 到點 toi 的有向邊。
找到最小的點集使得從這些點出發能到達圖中所有點。題目保證解存在且唯一。
你可以以任意順序返回這些節點編號。
本題的題意即是獲取當前入度為0的所有點的並集即可。
class
solution
for(
int i =
0; i < n; i++)}
return ans;
}}
題目三:得到目標陣列的最少函式呼叫次數
給你乙個與 nums 大小相同且初始值全為 0 的陣列 arr ,請你呼叫以上函式得到整數陣列 nums 。
請你返回將 arr 變成 nums 的最少函式呼叫次數。
答案保證在 32 位有符號整數以內。
}題目四:二維網格圖中探測環
給你乙個二維字元網格陣列 grid ,大小為 m x n ,你需要檢查 grid 中是否存在 相同值 形成的環。
乙個環是一條開始和結束於同乙個格仔的長度 大於等於 4 的路徑。對於乙個給定的格仔,你可以移動到它上、下、左、右四個方向相鄰的格仔之一,可以移動的前提是這兩個格仔有 相同的值 。
同時,你也不能回到上一次移動時所在的格仔。比方說,環 (1, 1) -> (1, 2) -> (1, 1) 是不合法的,因為從 (1, 2) 移動到 (1, 1) 回到了上一次移動時的格仔。
如果 grid 中有相同值形成的環,請你返回 true ,否則返回 false 。
}// 向下搜尋
if(i +
1< h && cur == grid[i +1]
[j])}}
}return
false;}
class
dsu}
public
intfind
(int x)
return parent[x];}
/** * 若合併前,x和y的parent相同,則表示形成環,返回true。
** @param x
* @param y
* @return
*/public
boolean
union
(int x,
int y)
if(parentx < parenty)
else
return
false;}
}}一切都很不確定,但堅持學習是必須要做的事,加油!
力扣 第48 題
c語言中的二維陣列是 一維陣列的陣列 向函式中傳遞的時候,最外層的陣列直接翻譯成指標,傳遞時傳遞其首位址,陣列是傳不進去的。所以s是指標,sizeof s 4 s是乙個長度為16個char的一維陣列,長度是16 當把每一行看作乙個整體,即作為乙個大的陣列元素時,原來的二維陣列也就變成乙個一維陣列了。...
子集(力扣第78題)
題目 給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集 冪集 說明 解集不能包含重複的子集。示例 輸入 nums 1,2,3 輸出 3 1 2 1,2,3 1,3 2,3 1,2 分析 子集的大小可以是從0到nums.length,也就是可以為空集,也可以和原始集合一模一樣。此題還...
力扣第165場周賽
a 和 b 在乙個 3 x 3 的網格上玩井字棋。井字棋遊戲的規則如下 玩家輪流將棋子放在空方格 上。第乙個玩家 a 總是用 x 作為棋子,而第二個玩家 b 總是用 o 作為棋子。x 和 o 只能放在空方格中,而不能放在已經被占用的方格上。只要有 3 個相同的 非空 棋子排成一條直線 行 列 對角線...