精华内容
下载资源
问答
  • 判断子串

    2019-07-26 18:28:22
    现有一个小写英文字母组成的字符串s和一个包含较短小写英文字符串的数组p,请设计一个高效算法,对于p中的每一个较短字符串,判断其是否为s的子串。 给定一个string数组p和它的大小n,同时给定string s,为母串,请...

    题目描述:
    现有一个小写英文字母组成的字符串s和一个包含较短小写英文字符串的数组p,请设计一个高效算法,对于p中的每一个较短字符串,判断其是否为s的子串。
    给定一个string数组p和它的大小n,同时给定string s,为母串,请返回一个bool数组,每个元素代表p中的对应字符串是否为s的子串。保证p中的串长度小于等于8,且p中的串的个数小于等于500,同时保证s的长度小于等于1000。
    测试样例:
    [“a”,“b”,“c”,“d”],4,“abc”
    返回:[true,true,true,false]
    代码实现:

    
    
    public class Substr {
        public boolean[] chkSubStr(String[] p, int n, String s) {
            boolean[] result =new boolean[p.length];
            int i =0;
            for ( i = 0;i<n;i++){
                if (s.contains(p[i])) {
                    result[i] = true;
                } else {
                    result[i] = false;
                }
            }
            return result;
        }
    }
    
    展开全文
  • Openjudge:判断子串

    2021-03-11 14:12:01
    输入两行字符串,要求判断第一行 字符串是不是第二行的子串 输入 ​两行字符串。字符串长度不超过100。 输出 如果第一行是第二行的子串,就输出 “YES”,否则输出"NO" 样例输入 hello world this is hello world, ...

    描述
    输入两行字符串,要求判断第一行 字符串是不是第二行的子串

    输入
    ​两行字符串。字符串长度不超过100。

    输出
    如果第一行是第二行的子串,就输出 “YES”,否则输出"NO"

    样例输入
    hello world
    this is hello world, it is ok.

    样例输出
    YES

    代码:
    s = input()
    t = input()
    if s in t:
    print(‘YES’)
    else:
    print(‘NO’)

    展开全文
  • 编写判断子串的函数

    2018-09-06 13:38:01
    不是子串输出-1 是子串输出位置,空串是任何串的子串输出0   int Strstr(char s1[],char s2[]){ if(s2[0] == 0) return 0; for(int i=0; s1[i]; ++i){ int k=i,j=0; for( ;s2[j];++j,+...
    1. 不是子串输出-1
    2. 是子串输出位置,空串是任何串的子串输出0

     

    int Strstr(char s1[],char s2[]){
           if(s2[0] == 0)
                 return 0;
           for(int i=0; s1[i]; ++i){
                int k=i,j=0;
                for( ;s2[j];++j,++k){
                      if(s1[k]) != s2[j])
                       break;
               }
               if(s2[j] == 0)
       }
       return -1

     

    展开全文
  • 主要给大家总结介绍了Python中判断子串存在的性能比较及分析的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • 字符串:判断子串

    千次阅读 2018-04-17 21:17:04
    给定两个数组s和t(只包含小写字母),判断s是否为t删除若干字符后得到的子串。 若单纯判断是否为子串,过程比较简单,只需要设置两个指针。 public boolean isSubsequence(String s, String t) { int is = 0, it ...

        给定两个数组s和t(只包含小写字母),判断s是否为t删除若干字符后得到的子串。

        若单纯判断是否为子串,过程比较简单,只需要设置两个指针。

        public boolean isSubsequence(String s, String t) {
            int is = 0, it = 0;
            while(is < s.length() && it < t.length()){
                if(s.charAt(is) == t.charAt(it)) is++;
                it++;
            }
            if(is == s.length()) return true;
            else return false;
        }

        若s比较短(小于100个字符),而t比较长(长至50000个字符),且s的个数比较多,需要不断的寻找和判断s中是否有t的子串,此时就要对算法进行改进。

        因为s和t只包含小写字母,因此即使t长度比较长,但还是由26个字母组成的,可以把t中每个字母出现的下标记录下来,然后根据下标来判断:对于s中的后续字母,其在t中有比其前面字母大的下标。

        public boolean isSubsequence(String s, String t) {
            List<List<Integer>> indexList = new ArrayList<List<Integer>>();
            for(int i = 0; i <= 26; i++){
                indexList.add(new ArrayList<Integer>());
            }
            for(int i = 0; i < t.length(); i++){
                indexList.get(t.charAt(i) - 'a').add(i);    //把下标存入队列
            }
            int index = -1;
            for(int i = 0; i < s.length(); i++){
                int order = s.charAt(i) - 'a'; //字母在列表中的位置
                if(indexList.get(order).size() == 0) return false; //t中没有该字符
                int j = 0;
                while(indexList.get(order).size() > j && indexList.get(order).get(j) <= index) j++; //找到比前序大的下标
                if(indexList.get(order).size() == j) return false; //没有比前序大的下标,说明不是t中不存在出现在其前序之后的该字符
                else index = indexList.get(order).get(j); //修改当前下标
            }
            return true; //s遍历完毕,没有返回false,说明所有字符都找到对应的下标了
        }

        

    展开全文
  • 用C++编写判断子串的函数

    千次阅读 2018-06-21 16:49:48
    编写判断子串的函数 编写一个函数: int Strstr(char s1[],char s2[]) ; 如果s2不是s1的字串,返回-1 如果s2是s1的子串,返回其在s1中第一次出现的位置 空串是任何串的子串,且出现位置为0int Strstr(char s1[]...
  • 母串与子串 c++ 判断位置 oj pat
  • 如果字符串b是字符串a的子串,则返回b第一次出现在a中的位置。 否则 不是子串 注意 空串是任何串的子串,且出现的位置为0. 2 基本思想 假设a是主串,简单的方式是:想用一个外层循环遍历字符串a的每一个字符,在遍历...
  • 非常简单,代码如下: #include #include using namespace std; bool AisSubStringOfB (string a, ... if (s.find(r) ()) { cout中包版含r"手写了一个代码手写的算法,又使用string头文件自带的find函数寻找子串
  • 以每一个字符为起点比较是否为子串,若未达子串末尾就出现不相等的字符,则说明不是子串,结束比较,开始下一次枚举比较;若到达末尾未出现不相等的字符,则返回位置 /*果s2不是s1的子串,返回-1 如果s2是s1的子串...
  • 第二个问题因为子串内可以交换但却不能中间加入其他字符,先将第一个以第一种方式存入,后将第二个每n个(子串长度)一循环后每次都建立新的数组,新的循环,新的比较。只要有一个字母的个数不同就跳出,代表改子串...
  • 搜索不包括终止空字符 这里我们需要注意,定义中说的是,返回第一个出现子串的指针,也就是说,如果子串是"abc",主串是"wyjabcdyyabcqwe"的话,调用strstr函数是,返回的结果会是第一个出现"abc"的位置即...
  • 本文实例总结了Python实现判断一个字符串是否包含子串的方法。分享给大家供大家参考,具体如下: 1.使用成员操作符 in >>> s='nihao,shijie' >>> t='nihao' >>> result = t in s >>> print result True 2.使用...
  • 第一题: class Class22 { public static void main ( String [ ] args ) { String s1 = "abcdefgh123" ; String s2 = "123" ; ...写一个程序:求两个字符串的共同最长子串
  • mysql有三个函数判断字符串在另一个字符串中是够存在:locate(substr, str),position(substr IN str),instr(str, substr) 这三个函数基本上没什么区别,都是返回子串在父串中出现的位置。 需要注意的是locate函数...
  • 判断stri是否是s的子串。 Input 输入数据有多组,对于每组测试数据 第一行源串S(S长度小于100000),第二行一个整数n, 表示下面有n个查询,每行一个字符串str。 Output 若str是S的子串,输出 yes 否则输出 no ...
  • 判断子串问题

    2018-09-15 15:19:48
    判断s2是否是s1的子串 2.编程分析 从s1字符串的第一个字符开始,依次与s2的字符串的各个字符比较,若均相同,则s2是s1的子串;否则再从s1的下一个字符(第二个字符)开始,依次与s2字符串的各个字符作比较……...
  • class Solution { public boolean isSubsequence(String t, String s) { int indext = 0, indexs = 0; while (indext < t.length() && indexs <... if (t.charAt(indext) =...
  • 例题:判断子串

    2017-02-07 18:36:56
    题目:输入两个字符串,判断一个是否为另一个字符串的子串。 #include #include int main() { char str[100],a[100],temp[100]; int len1,len2,loc,i,j,num = 0; printf("Please input a long string:\n"); ...
  • 子串判断-JAVA

    2020-06-22 22:48:03
    子串判断 题目描述 现有一个小写英文字母组成的字符串s和一个包含较短小写英文字符串的数组p,请设计一个高效算法,对于p中的每一个较短字符串,判断其是否为s的子串。 给定一个string数组p和它的大小n,同时给定...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 93,891
精华内容 37,556
关键字:

判断子串