iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Software Development

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

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

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

Day 11 : 子集 Subsets

今天要來解一題以前數學課本第0章都會遇到也很常被我們跳躍式略過的東西。 在看這題之前我們先來了解一個名詞 Power sets:假設有一個集合 X ,我們將 X...

2021-09-26 ‧ 由 Jen 分享
DAY 12

Day 12: Merge Intervals

看完這題題目還記得小時候很常被問到:給你一些數字,請你從這些數中用最少的數,來涵蓋最多的範圍。於是我們就會拿起筆開畫數線。不過今天,我們要用程式碼來解題,沒有了...

2021-09-27 ‧ 由 Jen 分享
DAY 13

Day 13 : Maximum Subarray

今天的題目是要我們在一個整數陣列中找到子陣列(subarray),也就是擷取陣列中相連的一部分,求出擁有最大的總和並且回傳 而會讓題目變得複雜的原因,是因為我們...

2021-09-28 ‧ 由 Jen 分享
DAY 14

Day 14:凱撒密碼之Shifting Letters

在開始今天題目之前,先來認識一下凱撒密碼 (Caesar cipher) 凱撒密碼是一種替換加密技術,明文中的所有字母都在字母表上向後按照一個固定數目進行偏移...

2021-09-29 ‧ 由 Jen 分享
DAY 15

Day 15:Remove Duplicates from linked list

這題開始之前先來介紹一下Linked list(連結串列)的資料結構。 Linked list(連結串列)使用node(節點)來記錄、表示、儲存資料(data)...

2021-09-30 ‧ 由 Jen 分享
DAY 16

Day 16 : Remove Nth Node From End of List

今天直接來看題目的敘述:Given the head of a linked list, remove the nth node from the end of...

2021-10-01 ‧ 由 Jen 分享
DAY 17

Day 17 : Add Two Numbers

這一題題目會給我們兩個Linked Lists,分別代表兩個非負整數。題目要我們把兩個數相加後回傳一個新的Linked Lists來代表相加後的和。 題目有說,...

2021-10-02 ‧ 由 Jen 分享
DAY 18

Day 18 : 二分搜尋 Binary Search

生活上我們可能有遇過一些二分搜尋的例子。例如以前如果有當過助教的經驗,有時候我們在收學生作業時會作業按照學號由小到大排好,假設有100位學生001~100,我們...

2021-10-03 ‧ 由 Jen 分享
DAY 19

Day 19:二元樹遍歷 Binary Tree Traversal

今天一起來認識二元樹的三種遍歷方式吧!但是別急!我們先來認識二元搜尋樹BST的定義! 二元搜尋樹是一棵二元樹,如果不為空(二元樹可以為空!)則須滿足: 左子樹...

2021-10-04 ‧ 由 Jen 分享
DAY 20

Day 20 : 深度追蹤 Depth-first-searh

深度追蹤是刷題前一定要了解的觀念!今天就來用Depth-first-searh的方式來走訪一棵樹吧! 其實從名稱上看起來很直覺,簡單來說就是當我們走了一條路,前...

2021-10-05 ‧ 由 Jen 分享