题目描述
一个字符串的非空子串是指字符串中长度至少为 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());
}
}
该博客讨论了如何计算一个给定字符串的不同非空子串的个数。通过使用Java编程语言,博主展示了如何利用substring方法和HashSet数据结构来实现这一目标。代码示例中,对字符串'0100110001010001'的所有可能子串进行了遍历和去重,最后输出了不同子串的数量。
839

被折叠的 条评论
为什么被折叠?



