Re: [閒聊] 每日leetcode

作者: Rushia (みけねこ的鼻屎)   2024-04-25 10:53:27
2370. Longest Ideal Subsequence
https://leetcode.com/problems/longest-ideal-subsequence/description
給你一個字串s和一個數字k,找出一個子序列滿足相鄰的字元距離不相差超過k個,返回
最長是多長(note:a和z距離25而不是1)。
思路:
1.第一眼看覺得是動態規劃,最暴力的方法就兩個for迴圈,dp[i]找i前面的所有j,如
果相差不超過k就 dp[i] = max(dp[i], dp[j] + 1) 但 n=10^4 果不其然 TLE。
2.既然TLE了那就只能想辦法減少迴圈做的事,實際上我們不用找前面j個dp,只要找
"前面某某字母結尾"的最長子序列長度就好,頂多做26次,這樣時間複雜度就變O(n)了。
3.然後我迴圈是從 c-k 跑到 c+k+1 (對應距離左邊k和右邊k),恰好等於c的時候要另外
處理,直接放到迴圈裡會因為順序問題出錯,解釋起來滿麻煩的直接看代碼。
py code:
作者: DJYOSHITAKA (Evans)   2024-04-25 11:00:00
別捲了
作者: JIWP (JIWP)   2024-04-25 11:14:00
大師

Links booklink

Contact Us: admin [ a t ] ucptt.com