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;
            }
    

      

  • 相关阅读:
    7.6实战练习
    构造方法的主要应用
    6.0字符串String
    数组冒泡排序
    数组(二维数组)
    5.1数组(一维部分)
    4个方位的三角形和菱形
    4.3循环语句
    控制台输入输出
    4 java语句 4.2条件语句
  • 原文地址:https://www.cnblogs.com/wuMing-dj/p/3370243.html
Copyright © 2011-2022 走看看