leetcode524 最長子序列 雙指標 c

2021-10-02 18:30:55 字數 1083 閱讀 4265

思路:

初始定義乙個已匹配的最長字串longestword,用member來遍歷取字串陣列的每個字串

如果member取的字串更長;或兩者長度相同,但member的字典序更小(用compare)

就看member字串是不是s的子串(即s刪除部分字母能得到member字串)

否則,如果member取的字串是給定字串s的子串,那麼就將當前字串member送longestword (更新迄今已匹配的最長字串)

最後member取完,longestword字串就是陣列中最長匹配的字串

函式**

class solution }if

(j == member.

length()

) longestwordnow = member;

/*如果能匹配,就將迄今已匹配最長字串更新為當前member所取的字串*/

}return longestwordnow;

/*member取完字串陣列的字串時,longestwordnow中存放的就是匹配的最長字串*/}}

;

全**:

#include

using namespace std;

string findlongestword

(string s, vector

& d)}if

(j == member.

length()

) longestwordnow = member;

/*如果能匹配,就將迄今已匹配最長字串更新為當前member所取的字串*/

}return longestwordnow;

/*member取完字串陣列的字串時,longestwordnow中存放的就是匹配的最長字串*/

}int

main()

cout <<

findlongestword

(s, vec)

;}

leetcode524 最長子序列 雙指標 c

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

LeetCode 524 字串中最長子序列

給定乙個字串和乙個字串字典,找到字典裡面最長的字串,該字串可以通過刪除給定字串的某些字元來得到。如果答案不止乙個,返回長度最長且字典順序最小的字串。如果答案不存在,則返回空字串。示例 1 輸入 s abpcplea d a b c 輸出 a 解題思路 首先應該迴圈給出的字元陣列來找到其中滿足條件的最...

Leetcode 最長子串

給定乙個字串,找出不含有重複字元的最長子串的長度。示例 給定 abcabcbb 沒有重複字元的最長子串是 abc 那麼長度就是3。給定 bbbbb 最長的子串就是 b 長度是1。給定 pwwkew 最長子串是 wke 長度是3。請注意答案必須是乙個子串,pwke 是 子串行 而不是子串。includ...