iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Software Development

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

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

DAY 21

Day 21: 最長遞增子序列

我們來練習幾題動態規劃的題目,就先從經典的最長遞增子序列開始.最長遞增子序列,Longest Increasing Subsequence,簡稱LIS,比較容易...

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

Day 22:最長遞增子序列 二分解法

現在我們來用二分搜尋來解這題,數學推導太長了而且網上還蠻多的就先跳過… 我們用紙牌遊戲代替一下,這個規則就是 1.只能把排放到比目前牌面比較小的那疊 (圖) 2...

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

Day 23 :俄羅斯套娃信封問題

今天我們來看一題延伸題,在LeetCode上面難度為Hard 題目是這樣的: 有一種產品,名為俄羅斯套娃信封.一組產品裡面有數個不同大小的信封,並且可以層層收納...

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

Day 24:最大子陣列問題

我們再來做一題動態規劃問題吧.有點類似最長遞增子序列問題 題目是這樣的: 給定一個整數陣列nums,請在其中找到一個和最大的子陣列,然後返回其和. 例如輸入:n...

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

Day 25: 最長公用次序列

最長公用次序列(Longest Common Subsequence,簡稱LCS)是一題經典的面試題目,因為他的解法是一個典型的”二維”動態規劃,大部分比較困難...

2022-10-01 ‧ 由 yuli 分享
DAY 26

Day 26:字串的最小編輯距離

這題也是Leetcode上面,Hard難度的題目.雖然表面上看起來很困難,實際解法也不容易想到,但是最後的解答卻精緻輕巧,很有趣 題目是這樣的: 給定兩個字串s...

2022-10-02 ‧ 由 yuli 分享
DAY 27

Day 27 :字串最小編輯距離 優化

我們知道要優化一個動態規劃問題,可以從兩個方向下手,一個是使用Memo把已經找過的答案存起來,另外一個就是使用DP Table 我們先從比較簡單的部分開始,使用...

2022-10-03 ‧ 由 yuli 分享
DAY 28

Day 28:子序列問題框架

子序列的問題通常都比子字串或是子陣列問題更加困難,因為子序列沒有要求要連續,而其餘兩者都要求要連續.有的時候連列舉一個暴力解都非常困難,更別說要得到演算法了 此...

2022-10-04 ‧ 由 yuli 分享
DAY 29

Day 29 : 最長迴文子序列

迴文的定義,便是從頭或是尾念,都是相同的句子,例如說有名的”上海自來水來自海上”,便是回文的一種. 我們今天的題目就是要在一個字串中找到其最長的迴文子序列長度....

2022-10-05 ‧ 由 yuli 分享
DAY 30

Day 30 : 最後一天

終於到了最後一天了,讓我們來複習一下到底學的了什麼東西吧. 動態規劃 一個動態規劃問題,可以分成三個重點1.重疊子問題 2.找到狀態轉移方程 3.優化成最佳子結...

2022-10-06 ‧ 由 yuli 分享