[Java]判断一个字符串包含另一个字符串中的所有字符

有两个字符串,每个字符串的字符从A-Z中选取,比如: B = “ABBC”, A = “ACBBD”。那么A包含所有B中出现的字符。如果A = “ACBD” 或者  A = “ABBD”,则我们认为A不包含B中所有的字符。

    public static void main(String[] args){
        String A = "ABBC";
        String B = "ACBBBD";
        System.out.println(contains(A,B));
 
    }
    
    public static boolean contains(String a, String b){
        int[] array = new int[26];  
        for (int i = 0; i < a.length(); i++) { 
            array[a.charAt(i) - ‘A‘] = 1;  
        }  
          

        for (int j = 0; j < b.length(); j++) {  
            if (array[b.charAt(j) - ‘A‘] == 0){
                return false;
            };  
        } 
        
        return true;
    }
时间: 2024-10-21 14:39:07

[Java]判断一个字符串包含另一个字符串中的所有字符的相关文章

在php中判断一个字符串包含另一个字符串

方法一:用php的strpos() 函数判断字符串中是否包含某字符串的方法 if(strpos('Longway','way') !== false){ echo '包含way'; }else{ echo '不包含way'; } 方法二:使用了explode 用explode进行判断PHP判断字符串的包含代码如下: <?php $url = "001a.gif"; $str = "a"; $con = explode($str,$url); if (count

java正则:不包含某个规则字符串

概述 做日志分析工作的经常需要跟成千上万的日志条目打交道,为了在庞大的数据量中找到特定模式的数据,常常需要编写很多复杂的正则表达式.例如枚举出日志文件中不包含某个特定字符串的条目,找出不以某个特定字符串打头的条目,等等. 使用否定式前瞻 正则表达式中有前瞻(Lookahead)和后顾(Lookbehind)的概念,这两个术语非常形象的描述了正则引擎的匹配行为.需要注意一点, 正则表达式中的前和后和我们一般理解的前后有点不同.一段文本,我们一般习惯把文本开头的方向称作“前面”,文本末尾方向称为“后

获取两个日期之间的月份 (具体月份)一个是包含头尾 一个不包含头尾

最近再做一个项目 要计算连个月之间的相差的月份 网上特别多的是计算相差月份数 相差几个月 这个就不贴出来了 一百度全是的 完了之后就是相差月份详细的每个月不包括头尾的 比如计算 2018-12-12-2019-03-31相差的月份是  2019-01 02 "并没有算出 201812 和2019 03月份代码如下: Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); c1.set(2014, 9,

Java判断一个字符串是否是包含某个字符

Java判断一个字符串是否是包含某个字符 在java中我们经常要判断一个字符串是否被包含在另外一个字符集中,那么如何用代码实现这个功能需求呢? contains方法 该方法返回true,如果此字符串包含,否则返回false. public class containString { public static void main(String[] args) { String str1 = "sdfsfsfa2we"; String str2 = "we"; Sys

java中如何判断一个字符串是否包含另外一个字符串的方法

indexOf(String s)的使用,如果包含,返回的值是包含该子字符串在父类字符串中起始位置:如果不包含必定全部返回值为-1 package my_automation; public class z_test { public static void main(String[] args) { String test = "This is test for string"; System.out.println(test.indexOf("This"));

java循环练习:输入一个字符串,统计该字符串中分别包含多少个数字,多少个字母,多少个其他字符

package practiceGO; import java.util.Scanner; /*  * 3.输入一个字符串,统计该字符串中分别包含多少个数字,多少个字母,多少个其他字符  */ public class Cto { public static void main(String[] args) {         int englishCount = 0;// 英文字母个数         int spaceCount = 0;// 空格个数         int numCoun

686. Repeated String Match判断字符串重复几次可以包含另外一个

public static int repeatedStringMatch(String A, String B) { //判断字符串a重复几次可以包含另外一个字符串b,就是不断叠加字符串a直到长度大于等于b,叠加一次计数+1 //看现在的字符串是否包含b,包含就返回,不会包含就再叠加一次,因为可能有半截的在后边,再判断,再没有就返回-1 int count = 0; StringBuilder sb = new StringBuilder(); while (sb.length() < B.l

给定一个只包含字符’(’,’)’,’{’,’}’,’[‘和’]&#39;的字符串,判断输入字符串是否有效

public class Bracket { public static void main(String[] args) { String str = "[()]"; System.out.println(isValid(str)); } // [()] public static boolean isValid(String str) { Stack<Character> stack = new Stack<>(); Map<Character, Ch

【LintCode】判断一个字符串是否包含另一个字符串的所有字符

问题描述: 比较两个字符串A和B,确定A中是否包含B中所有的字符.字符串A和B中的字符都是 大写字母. 样例 给出 A = "ABCD" B = "ACD",返回 true 给出 A = "ABCD" B = "AABC", 返回 false 注意事项 在 A 中出现的 B 字符串里的字符不需要连续或者有序. 问题分析: 实质上利用的是哈希表的思想.只有大写字母,一共26个,遍历A的时候,往里面压,遍历B的时候,往外边弹,如果