亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

您現在的位置是:首頁 > 技術閱讀 >  每日一題:判斷子序列

每日一題:判斷子序列

時間:2024-02-14

題目392:判斷子序列

給定字符串 s 和 t ,判斷 s 是否為 t 的子序列。

你可以認為 s 和 t 中僅包含英文小寫字母。字符串 t 可能會很長(長度 ~= 500,000),而 s 是個短字符串(長度 <=100)。

字符串的一個子序列是原始字符串刪除一些(也可以不刪除)字符而不改變剩余字符相對位置形成的新字符串。(例如,"ace"是"abcde"的一個子序列,而"aec"不是)。

示例1:

s = "abc", t = "ahbgdc"返回 true.

示例2:

s = "axc", t = "ahbgdc"返回 false.

分析

這個題在動態規劃類型里,但是其實用不到動態規劃,用個雙指針其實就可以,因為兩個字符串中的字符相對位置不變,s有一個索引idx最開始指向0,只需要順序遍歷字符串t,在t中找到字符和s[idx]相同,idx+1,最后如果idx走到了s字符串的最后,證明s是t的子序列。

代碼

class Solution {public:    bool isSubsequence(string s, string t) {        if (s.empty()) return true;        int idx = 0, s_size = s.size();        for (int i = 0, t_size = t.size(); i < t_size; ++i) {            if (idx == s_size) {                break;            }            if (t[i] == s[idx]) {                idx++;            }        }        return idx == s_size;    }};
主站蜘蛛池模板: 抚宁县| 故城县| 西藏| 阿拉尔市| 尼勒克县| 都江堰市| 涿鹿县| 江津市| 灵宝市| 宁波市| 重庆市| 日喀则市| 旬阳县| 老河口市| 融水| 青海省| 井冈山市| 黑河市| 光山县| 周至县| 阿合奇县| 宁夏| 旬邑县| 邮箱| 咸阳市| 博乐市| 尼勒克县| 长乐市| 丹江口市| 石泉县| 海门市| 章丘市| 马公市| 梧州市| 平利县| 德昌县| 含山县| 河间市| 江达县| 嘉义市| 彭泽县|