问题描述:
一个字符串的非空子串是指字符串中长度至少为1的连续的一段字符组成的串。
例如,字符串aaab有非空子串a,b,aa,ab,aaa,aab,aaab,一共7个。
请问,字符串0100110001010001 有多少个不同的非空子串?
改版的请看:
蓝桥杯2019省赛——不同子串的个数改版
代码:
import java.util.HashSet;
import java.util.Set;
public class Main {
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());
}
}