亚洲欧美第一页_禁久久精品乱码_粉嫩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;    }};
主站蜘蛛池模板: 三明市| 卫辉市| 聂荣县| 南澳县| 永春县| 西华县| 大兴区| 宣化县| 泗水县| 兴和县| 石屏县| 安新县| 托克逊县| 新安县| 海原县| 甘肃省| 盐城市| 菏泽市| 正定县| 屯昌县| 乌兰县| 诸暨市| 红安县| 芦山县| 阿克苏市| 当雄县| 洪泽县| 涿州市| 阿合奇县| 林芝县| 革吉县| 宁陵县| 顺昌县| 丰城市| 大丰市| 腾冲县| 塘沽区| 昌平区| 启东市| 绥芬河市| 额敏县|