191. Number of 1 Bits題目會給定一個 32 bits unsigned integer N,我們需要將N轉換成二進制並且計算有幾個1。最基本的做法是將N轉換成二進制,並且計算餘數為1時的次數。Nov 30, 2023Nov 30, 2023
2366. Minimum Replacements to Sort the Array給定一個陣列 nums ,可以透過將元素 nums[i] 替換成兩個元素 a,b ,但必須滿足 a+b = nums[i] 。請利用上面提到的分解方法,找出最小的分解次數使得陣列為非嚴格遞增。Aug 30, 2023Aug 30, 2023
239. Sliding Window Maximum給定一個陣列 nums 和 window size k ,每次 window 都會往右移一格,請找出每次移動 window 後最大的元素。Aug 16, 2023Aug 16, 2023
2616. Minimize the Maximum Difference of Pairs問題和演算法的步驟不再多加描述,畢竟是看了答案的思路後寫出來。主要是想記錄怎樣思考方式,想出來的解法可以在時間複雜度上跟答案差不多。Aug 9, 2023Aug 9, 2023
77. Combinations很基本的backtraking題目,用遞迴就可以解決的問題,題目不再多贅述。會刻意寫這篇是因為遇到相同複雜度情況下,在leetcode的執行環境下執行時間有很大的差距。Aug 1, 2023Aug 1, 2023
2089. Find Target Indices After Sorting Array可以將此題想成在一個排序過的陣列中找到小於等於 target 的 lower_bound。會刻意挑這題是因為用到 binary search 來做,每次在做類似題目的時候,很常花很多的時間去分清楚迴圈的邊界該設定在哪、是要 right > left 就好還是 right >=…Jul 26, 2023Jul 26, 2023
688. Knight Probability in Chessboard在給定棋盤範圍n、可移動步數k、起始座標row,column下,找出騎士在移動k步後仍留在棋盤上的機率是多少,如果走出棋盤外就不再繼續移動,移動方式跟中國象棋的馬一樣走對角。Jul 25, 2023Jul 25, 2023
435. Non-overlapping Intervals原本想說用greedy的思路去解題,如果intervals[i][0]小於前一個區間的終點就加一,但反例[[1,4],[2,5],[4,6]]證明是行不通。後來才發現我忽略了一個重要的點,並非要小於前一個區間的終點,而是要小於前一個未被移除區間的終點。Jul 20, 2023Jul 20, 2023
1514. Path with Maximum Probability問題其實滿簡單的,就是單源最短路徑問題的延伸。每條邊有不同的權重且都介於[0,1],既然權重沒有負數,那便可以直接用 Dijkstra’s algorithm 去解這問題,時間複雜度為O(|E|+|V|log|V|)。Jun 29, 2023Jun 29, 2023