题目描述
一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成 的串。例如,字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab,一共 7 个。 注意在计算时,只算本质不同的串的个数。
请问,字符串0100110001010001 有多少个不同的非空子串?
答案:100
import java.util.HashSet; import java.util.Scanner; import java.util.Set; public class B { public static void main(String[] args) { Set<String> set = new HashSet<>(); Scanner in = new Scanner(System.in); String str = in.next(); for(int i = 0; i < str.length(); i++) { for(int j = i; j < str.length(); j++) { set.add(str.substring(i, j + 1)); } } System.out.println(set.size()); } }
原文:https://www.cnblogs.com/whisperbb/p/12405042.html