题目描述
一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成 的串。例如,字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab,一共 7 个。 注意在计算时,只算本质不同的串的个数。
请问,字符串0100110001010001 有多少个不同的非空子串?
思路
substring取得子串+hashset求数量注意subString的头尾参数 0-16
代码
public class 不同子串 {
public static void main(String[] args) {
// Scanner sc=new Scanner(System.in);
String arr="0100110001010001";
System.out.println(arr.substring(0,1));
HashSet hs=new HashSet();
for(int i=0;i<16;i++)
{
for(int j=i+1;j<17;j++)
{
hs.add(arr.substring(i,j));
}
}
/* Iterator it =hs.iterator();
while (it.hasNext())
{
System.out.println(it.next());
}*/
System.out.println(hs.size());
}
}