zoukankan      html  css  js  c++  java
  • 字符串包含问题

    两个字符串中字符是否包含的问题

    比如,如果是下面两个字符串:
    String 1: ABCDEFGHLMNOPQRS
    String 2: DCGSRQPO
    答案是true,所有在string2里的字母string1也都有。

    如果是下面两个字符串:  
    String 1: ABCDEFGHLMNOPQRS   
    String 2: DCGSRQPZ  
    答案是false,因为第二个字符串里的Z字母不在第一个字符串里。

    方案一:两个循环分别轮询,复杂度o(m*n)

    方案二:用快排法对两个字符串进行排序,然后遍历两个已排序的字符串,复杂度o(mlgm)+o(nlgn)+o(m+n)

             遍历已经排序字符串的代码

      public static bool ContainsAllElement()
            {
                int[] array1 = { 1, 3, 5, 7, 9, 10, 19, 34 };
                int[] array2 = { 5, 9, 19 };
    
                int i = 0;
                int j = 0;
                while (i < array1.Length && j < array2.Length)
                {
                    if (array1[i] < array2[j])
                    {
                        i++;
                    }
                    else
                    {
                        if (array1[i] == array2[j])
                        {
                            i++;
                            j++;
                        }
                    }
                }
    
                if (j == array2.Length )
                    return true;
                return false;
            }
    

      

  • 相关阅读:
    Windows系统结构
    Windows系统基本概念
    基本NT式驱动代码结构
    数据切割
    虚函数
    基类和派生类:谈继承
    jQuery简单的上拉加载
    检测是否为数组
    倒计时案例分析
    获得总的毫秒数
  • 原文地址:https://www.cnblogs.com/wuMing-dj/p/3370243.html
Copyright © 2011-2022 走看看