zoukankan      html  css  js  c++  java
  • [leetcode] 392. Is Subsequence

    Given a string s and a string t, check if s is subsequence of t.

    You may assume that there is only lower case English letters in both s and t. t is potentially a very long (length ~= 500,000) string, and sis a short string (<=100).

    A subsequence of a string is a new string which is formed from the original string by deleting some (can be none) of the characters without disturbing the relative positions of the remaining characters. (ie, "ace" is a subsequence of "abcde" while "aec" is not).

    Example 1:
    s = "abc", t = "ahbgdc"

    Return true.

    Example 2:
    s = "axc", t = "ahbgdc"

    Return false.

    ---------------------------------------------------

    刚开始没有看清题目以为是普通子字符串的问题,后来写完提交没有通过才发现是不需要连续但是字符顺序必须一致的子字符串问题,只要看清题目这道题就可以很轻松的AC了。

    ---------------------------------------------------

    我的代码如下:

    class Solution {
    public:
        bool isSubsequence(string s, string t) {
            if (s.size() > t.size()) return false;
            int j = 0;
            // i和j分别表示s和t中正在比较的字符的pos
            for (int i = 0; i < s.size(); i++) {
                if (j >= t.size()) return false;
                for (; j < t.size(); j++) {
                    if (s[i] == t[j]) {
                        j++;
                        break;
                    }
                    if (j >= t.size() - 1) return false;
                }
            }
            
            return true;
        }
    };
  • 相关阅读:
    第18章 检测点模型
    第17章 发现过拟合和欠拟合
    第16章 学习速率调度器
    第15章 MiniVGGNet:更深的CNNs
    第14章 LeNet:识别手写数字
    第13章保存和加载你的模型
    第12章 训练你的第一个CNN
    Vue.js
    python3第一天
    R+JAVA 中文乱码问题
  • 原文地址:https://www.cnblogs.com/zmj97/p/7502489.html
Copyright © 2011-2022 走看看