[Java][LeetCode][BinarySearch] Sqrt(X) #69用二元搜尋找(猜)平方根, 用乘法: 乘法概念是比較容易理解的,但x的範圍是0~(2³²)-1,有機會在做了x的平方,會超過integer的範圍,所以要將這個部分的type用long (2⁶³-1)。 用除法: 商會落在int的範圍內,…Jul 22, 2022Jul 22, 2022
[Binary] Logic conceptMaking a note about binary logic. [AND &] Both elements are 1 get 1. 0&0=0 0&1=0 1&0=0 1&1=1Jul 19, 2022Jul 19, 2022
[Java][LeetCode][Hash] Group Anagrams題目要求將同樣字母組成的字串分類成一個群組,所以將每個字串轉成char[]並且sort,sort後再重組成字串當map的key,把原字串加進去value(value的type是List<String>),最後把values全部倒去List<List<String>>並回出去。Jul 6, 2022Jul 6, 2022
[Java][LeetCode][Array] Ransom Note #383這題很簡單,所以很有時間可以試試看三種寫法,分別是Map, Array與雙指針。 Map: 遍歷一次magazine的字元並放到map計數,再走一次ransomNote的字元並將在map中的字元逐一減去,直到字元不在map中就回false。 Array…Jul 6, 2022Jul 6, 2022
[Java][LeetCode][Hash] 380. Insert Delete GetRandom O(1)題目要求實作insert, remove, getRandom,開一個Map去紀錄值與位置,開一個List去紀錄掃過的值,並且之後要準備用List去做getRandom的隨機輸出。 insert: 加到Map與List中 remove…Jun 15, 2022Jun 15, 2022
[Java][LeetCode][HashMap] Bulls and Cows最近又接了一個案子小忙,有點拖~但還是每天都會刷一題,只是不一定有時間寫紀錄,還是會寫,只是慢了一點~May 16, 2022May 16, 2022
[Java][LeetCode][Stack]Asteroid Collision #735行星碰撞條件是: 1. 兩個行星要不同的方向 2. 行星是依序碰撞的,不會跳著碰撞 3. 小的行星會被撞毀,一樣大小的時候會兩個都撞毀 4. 後者往前看要撞擊的行星,如果被撞掉了,就再繼續往前比較 5. 當前者為負的,後者為正的,不會被撞掉…Apr 27, 2022Apr 27, 2022
[Java][LeetCode][BFS][DFS][Graph] Number Of Islands #200DFS用遞迴的方式,BFS用Queue的方式。 歷遍所有1的位置,再藉由這個位置,將該位置的上下左右都蓋為0,一邊歷遍,一邊蓋0,要注意的點是: 1. 上下左右的位置必須在有matrix圍內:Apr 25, 2022Apr 25, 2022