第十届蓝桥杯java B组—试题B 不同子串
生活随笔
收集整理的這篇文章主要介紹了
第十届蓝桥杯java B组—试题B 不同子串
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1.大賽題目
- 2.文字描述如下
- 3.代碼實例
1.大賽題目
1.圖片如下:
2.文字描述如下
試題 B: 不同子串
【問題描述】
一個字符串的非空子串是指字符串中長度至少為 1 的連續的一段字符組成 的串。
例如,字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab,一共 7 個。 注意在計算時,只算本質不同的串的個數。
請問,字符串0100110001010001 有多少個不同的非空子串?
【答案提交】
這是一道結果填空的題,你只需要算出結果后提交即可。
本題的結果為一 個整數,在提交答案時只填寫這個整數,填寫多余的內容將無法得分。
3.代碼實例
public class lanqiao10_2 {public static void main(String args[]) {String str2 = "0100110001010001"; Set<String> set = new HashSet<>();//將每一個字符串添加到集合set中for (int i = 0; i < str2.length(); i++) {for (int j = i; j < str2.length(); j++) {set.add(str2.substring(i, j+1));}}System.out.println(set.size());} }因為Set集合可以去除重復元素,所以將遍歷的所有可能放到Set集合中
答案:100
總結
以上是生活随笔為你收集整理的第十届蓝桥杯java B组—试题B 不同子串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java for 循环中++i和i++的
- 下一篇: Java final关键字,常量的定义