iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
自我挑戰組

30天演算法解題 系列

演算法面試題學習紀錄

鐵人鍊成 | 共 30 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day 01:開始解題之前

去年轉職期間第一次參加鐵人賽,寫了三十篇關於演算法的文章。但因為當時還在認識階段,文章比較多概念上的討論,很少程式碼實戰。也因為這樣,後來在找工作時碰到演算法白...

2022-09-15 ‧ 由 ramenkun 分享
DAY 2

Day 02:two number sum

problem 輸入為一陣列及一整數 target,如果陣列中有兩個數字 a, b 相加等於 target,回傳陣列 [a, b] (或 [b, a],順序都可...

2022-09-16 ‧ 由 ramenkun 分享
DAY 3

Day 03:three number sum

昨天寫到 two number sum 的兩種解法,一種使用兩層迴圈,時間為 O(n^2);另一種使用 hash table,時間為 O(n)。這裡先寫第三種解...

2022-09-17 ‧ 由 ramenkun 分享
DAY 4

Day 04:validate subsequence

problem 輸入為兩個陣列,皆不為空陣列且元素皆為整數,回傳第二個陣列是否為第一個陣列的子序列 (subsequence)。 sample input:ar...

2022-09-18 ‧ 由 ramenkun 分享
DAY 5

Day 05:non-constructible change

problem 輸入為一個元素皆為正整數的陣列,元素可能重複,假設每個數字代表一個硬幣的面額,回傳這些硬幣無法加總組合出的最小金額。例如陣列 [1, 2, 5]...

2022-09-19 ‧ 由 ramenkun 分享
DAY 6

Day 06:tournament winner

problem 至少兩支隊伍進行錦標賽,其中每一隊都會跟其他所有的隊伍進行一對一比賽。每場比賽贏的加 3 分,輸的加 0 分,不會有平手的情況。累積總分最高的就...

2022-09-20 ‧ 由 ramenkun 分享
DAY 7

Day 07:smallest difference

problem 輸入為兩個不為空、元素皆為整數的陣列,回傳相差最小的一組數字 [a, b],其中 a 來自第一個陣列,b 來自第二個陣列。可以確定只會有一組解。...

2022-09-21 ‧ 由 ramenkun 分享
DAY 8

Day 08:move element to end

problem 輸入為一個元素皆為整數的陣列,以及一個整數 k,將所有陣列中為 k 的元素移動到末尾,並回傳陣列。題目要求原地進行,也就是需直接操作輸入陣列。其...

2022-09-22 ‧ 由 ramenkun 分享
DAY 9

Day 09:monotonic array

problem 輸入為一陣列,回傳陣列是否為單調陣列 (monotonic array)。 單調陣列有兩種情況:陣列為單調遞增 (非遞減),或單調遞減 (非遞增...

2022-09-23 ‧ 由 ramenkun 分享
DAY 10

Day 10:spiral traverse

problem 輸入為一個長寬為 m * n (m 可以等於 n) 的雙層陣列,將其中所有的元素以螺旋的順序放入另一陣列回傳。 這裡的螺旋順序指的是從雙層陣列的...

2022-09-24 ‧ 由 ramenkun 分享