• Java实现第十届蓝桥杯不同子串


    试题 B: 不同子串
    本题总分:5 分
    【问题描述】
    一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成 的串。例如,字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab,一共 7 个。 注意在计算时,只算本质不同的串的个数。 请问,字符串0100110001010001 有多少个不同的非空子串?
    【答案提交】
    这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

    package JavaB;
    
    import java.util.HashSet;
    import java.util.Set;
    //审题发现要求是不同的非空子串,则想到Set集合去重,
    //String.substring()方法求子串(一切	为快速解题为前提)
    //for循环每一种可能
    
    public class butongzichuan {
    	public static void main(String[] args) {
    		String s ="0100110001010001";
    		Set<String> set = new HashSet<String>();
    		for (int i = 0; i < s.length(); i++) {
    			for (int j = i+1; j <= s.length(); j++) {
    				String a = s.substring(i,j);
    				set.add(a);
    			}
    		}
    		System.out.println(set.size());
    	}
    }
    
    
  • 相关阅读:
    List集合
    ArrayList_toArray
    Collection集合基础知识
    Array类的使用
    16.10
    16.9
    16.8
    16.7
    16.6
    16.5
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13077713.html
Copyright © 2020-2023  润新知