zoukankan      html  css  js  c++  java
  • LintCode 字符串比较

    比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是大写字母:

    给出 A = "ABCD" B = "AABC", 返回 false

    给出 A = "ABCD" B = "ACD",返回 true

    我的代码:

        /**
         * 由于是在字符串strA中确定是否包含字符串strB中的所有字符<br/>
         * 故只需要将字符串strB中的每一个字符在字符串strA中遍历,当在字符串strA中不存在时,则直接返回false<br/>
         * 当存在是,则进行字符串strB的下一个字符查找<br/>
         * @param strA
         * @param strB
         * @return
         */
        public boolean compareStrings(String strA, String strB) {
            int aLen = strA.length();
            int[] arr = new int[aLen];
            for (int i = 0; i < aLen; i++) {
                arr[i] = 0;
            }
            boolean flag = true;
            for (int i = 0, bLen = strB.length(); i < bLen; i++) {
                flag = false;
                 for(int j = 0;(j < aLen) && (!flag);j ++){
                    if (strB.charAt(i) == strA.charAt(j) && arr[j] == 0) {
                        arr[j] = 1;
                        flag = true;
                    }
                }
                if (!flag) {
                    break;
                }
            }
            return flag;
        }

    还有种比较牛的

    思路:统计两边的信息进行比较。如果B中的每种字符的个数小于等于A中的,则A包含B。

    参考资料:http://www.jianshu.com/p/f7f9987f1bbb

    int Achar[26];//储存字符串的每个字母个数
     int Bchar[26];
     for (int i = 0; i<26; i++) {
         Achar[i] = 0;
         Bchar[i] = 0;
     }
     int Adate,Bdate;//记录AB的字符统计数据
     int countA = A.length();
     int countB = B.length();
     for (int i = 0; i<countA; i++) {
     int index;
     index = A[i] - 65;
     Achar[index]++;
     }
     for (int i = 0; i<countB; i++) {
     int index;
     index = B[i] - 65;//65为大写A的ASCⅡ码值
     Bchar[index]++;
     }
     for (int i = 0; i<26; i++) {
         if (Achar[i]<Bchar[i])
         return false;
    }
    return true;
    }
  • 相关阅读:
    (转 )Unity对Lua的编辑器拓展
    unity timeline
    unity拖尾粒子问题
    unity shader 波动圈
    linux教程
    Unity Shader 基础
    ugui拖拽
    unity shader 热扭曲 (屏幕后处理)
    英文取名神器
    lua正则表达式替换字符串
  • 原文地址:https://www.cnblogs.com/xiaoxian1369/p/4604715.html
Copyright © 2011-2022 走看看