雙指標 最長子序列

2022-01-10 12:30:47 字數 439 閱讀 5946

題目描述:刪除 s 中的一些字元,使得它構成字串列表 d 中的乙個字串,找出能構成的最長字串。如果有多個相同長度的結果,返回字典序的最小字串。

通過刪除字串 s 中的乙個字元能得到字串 t,可以認為 t 是 s 的子串行,我們可以使用雙指標來判斷乙個字串是否為另乙個字串的子串行。

public string findlongestword(string s, listd) 

if (issubstr(s, target))

}return longestword;}

private boolean issubstr(string s, string target)

i++;

}return j == target.length();

}

個人覺得issubstr()非常巧妙。

leetcode524 最長子序列 雙指標 c

思路 初始定義乙個已匹配的最長字串longestword,用member來遍歷取字串陣列的每個字串 如果member取的字串更長 或兩者長度相同,但member的字典序更小 用compare 就看member字串是不是s的子串 即s刪除部分字母能得到member字串 否則,如果member取的字串是...

leetcode524 最長子序列 雙指標 c

思路 給定字串s刪除一些字元能得到陣列的字串 找最長的字串 如果長度相同選字典順序最小的字串 比較s和p指標遍歷指向的字串是否對應相等 如果p指向字串是s的子串 並且p字串更長,或者長度同但p字典序更小 就將迄今已匹配最長字串更新為p指向的字串 最後p將陣列所有字串都遍歷完成時,lonestword...

最長子序列

最長子序列可以說是剛接觸動態規劃的人經常遇見也不得不解決的問題,最常見的有兩種,一種是最長公共子串行 lcs 還有乙個是最長上公升子串行 lis 今天我就總結下這兩個的做法。一 最長公共子串行 lcs 題目描述 給你兩個陣列,可以是數字的,也可以是字串,我們假設是數字的!舉個例子 x 1,5,6,4...