iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Software Development

從零開始的LeetCode生活,使用Kotlin學習刷題 系列

LeetCode已經是面試的一大難關,考驗面試者的邏輯思維與結構設計功底,我們將使用Kotlin語言來進行LeetCode的挑戰.

DAY 11

Day 11:BFS與最矮二元樹問題

我們一般都求二元樹的最大深度,不過我們今天的練習改成使用BFS來尋找其中的最小高度. 題目是這樣的,給你一個二元樹,求其中最小高度,也就是根節點到葉節點最短的距...

2022-09-17 ‧ 由 yuli 分享
DAY 12

Day 12 : BFS與密碼鎖問題

今天我們來研究密碼鎖問題,題目是這樣的 有一個四位的密碼鎖,有四個播輪,分別具有0-9 總共10位數字,播輪可以上下旋轉,比如說你可以把”3”轉為”4”或是往另...

2022-09-18 ‧ 由 yuli 分享
DAY 13

Day 13 : 用雙向BFS解決密碼鎖問題

讓我們來針對昨天留下的問題,來修改一下程式碼.把DeadEnd考慮進去,並且不要走回頭路. fun BFSWithDeadEnds(deadEnds:Array...

2022-09-19 ‧ 由 yuli 分享
DAY 14

Day 14 : 快慢雙指標的使用技巧

我們昨天使用到了雙向BFS,其實還有一種類似的技巧,稱為雙指標.一般來說的演算法使用一個指標(這個指標不是指記憶體那個,而是指在遍歷過程中的位置),而雙指標就是...

2022-09-20 ‧ 由 yuli 分享
DAY 15

Day 15 :左右雙指標

昨天講了快慢指標,我們今天來看看左右雙指標可以做什麼 二分搜尋 這個二分搜尋的整體框架我們在未來會講到,今天先展示一下左右雙指標的特性 左右雙指標通常一個初始化...

2022-09-21 ‧ 由 yuli 分享
DAY 16

Day 16 : 二分演算法

昨天的左右雙指標還有一點點內容 反轉陣列 給定一個陣列,如何反轉這個陣列呢? 一般來說,程式語言都會提供這個api,不過我們還是來看看用左右雙指標怎麼實現這個功...

2022-09-22 ‧ 由 yuli 分享
DAY 17

Day 17 :二分演算法的左右邊界問題

昨天我們看了最基礎的二分演算法,但是也發現了她有些問題,比如說要找到左右邊界的問題就沒辦法做到,我們今天來改寫這個演算法.讓他可以找到左右邊界 讓我們來小小修改...

2022-09-23 ‧ 由 yuli 分享
DAY 18

Day 18 : 滑動視窗演算法

在古早時代,如果製作遊戲時要使用動畫,有時候一張一張的圖片讀取進來,電腦的效能無法支撐.所以在比較爛的電腦上就會一卡一卡的不滑順.這個時候就會改為使用滑動視窗動...

2022-09-24 ‧ 由 yuli 分享
DAY 19

Day 19 :最小覆蓋字串

這是leetcode上面一題Hard難度.題目如下 給兩個字串S跟T,請從S中找到包含T的全部字母的最短字串(順序不論),如果沒有S沒有這樣的字串,就返回空字串...

2022-09-25 ‧ 由 yuli 分享
DAY 20

Day 20 :字串排列問題與所有字母異位詞問題

我們再來看幾題跟滑動窗口有關係的題目,基本上熟悉了框架,再問自己昨天的四大問題,得到答案很容易就得心應手了 字串排列 這題在leetcode的難度是Medium...

2022-09-26 ‧ 由 yuli 分享