iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Software Development

30天用JavaScript刷題刷起來! 系列

每當大家提到刷題好像都會直接聯想到工作面試感到有壓力,其實刷題可以很有趣,過程也可以學到並複習很多資料結構與演算法的概念。想要用這30天利用leetCode為主加上一些其他討論區的題目為輔,用說題的方式來解析題目背後想要考什麼,一起釐清思緒,探討厲害的前人的思維與技巧,如何把暴力解一步步優化,邁向高效解!

鐵人鍊成 | 共 30 篇文章 | 52 人訂閱 訂閱系列文 RSS系列文 團隊鐵人賽臻融一
DAY 21

Day 21 :廣度優先搜尋 Breadth-First search(BFS)

說到廣度優先搜尋我一定要現知道Queue Queue(佇列)是先進來的元素先出去(First In First Out = FIFO)的資料結構,通常用於讓程...

2021-10-06 ‧ 由 Jen 分享
DAY 22

Day 22 :Validate BST

今天直接動手來解題吧!我們從根(root)開始,利用Divide and Conquer來驗證每一個子樹(Subtree),直到我們驗證到最後的葉子。 像是我們...

2021-10-07 ‧ 由 Jen 分享
DAY 23

Day 23:二元樹分支總和 sums of the branches

今天這題題目是國外論壇分享的面試題,其實也是LeetCode-Path Sum的衍生題,直接來刷題吧! 簡單複習一下二元樹 Binary Tree 的特點:...

2021-10-08 ‧ 由 Jen 分享
DAY 24

Day 24:一起來建構Min-Heap吧

在實作之前我們先來認識Heap 堆積 (Heap),是一種特殊的完全(complete)二元樹,也就是除了最後一層樹葉,每一層都是長滿的。 而今天要建構的M...

2021-10-09 ‧ 由 Jen 分享
DAY 25

Day 25 : 經典氣泡排序 Bubble Sort

接下來的五天我們會用不同的方式來解這題題目Sort an Array,一起來複習跟朝拜大師們想出來的排序法!從前面開始有關input給了一個array的題目時,...

2021-10-10 ‧ 由 Jen 分享
DAY 26

Day 26: Insertion sort & Selection sort

我們先來用insertion sort algorithm來解題。雖然他的效率也不高,但這是很好理解且實作的演算法。偷渡一下隊友的一篇好文 演算法入門理解下面我...

2021-10-11 ‧ 由 Jen 分享
DAY 27

Day 27 : 快速排序法 Quick Sort

今天要來實作的快速排序法Quick Sort,雖然不是最佳的(以前學習的時候看到他的名字以為它會是最快的),不過它仍是必須學習的經典。我們就直接開始吧! Inp...

2021-10-12 ‧ 由 Jen 分享
DAY 28

Day 28:合併排序法 Merge Sort

Merge Sort採用Divide and Conquer的方式,其實他的概念本身就是遞迴(recursion)。 Divide and Conquer的作法...

2021-10-13 ‧ 由 Jen 分享
DAY 29

Day 29 : 堆積排序 Heap Sort

今天要來實作最後一個方法,也就是Heap Sort來解Sort an Array。如果對Heap不熟悉或是已經淡忘的可以回頭先溫一下Day 24:一起來建構Mi...

2021-10-14 ‧ 由 Jen 分享
DAY 30

Day 30 :BST中找最接近的值&感謝文

簡單敘述一下題目:題目會給你一棵BST以及一個數。我們要從這個BST中找出最接近這個數的節點值。 以下圖為例假設題目要我們找出這棵樹中和12最接近的值,用看的可...

2021-10-15 ‧ 由 Jen 分享