第十届蓝桥杯 javaB 不同子串

第十届蓝桥杯 javaB 不同子串

第十届蓝桥杯 javaB 不同子串_第1张图片

思路:枚举长度、起点,用set去重。
答案:100

import java.util.Set;
import java.util.TreeSet;

/**
 * 100
 * 
 * @description TODO
 * @author frontier
 * @time 2019年4月10日 上午10:24:37
 *
 */

public class B不同子串 {
	static String s = "0100110001010001";
	static Set<String> set = new TreeSet<String>();

	public static void main(String[] args) {

		for (int i = 1; i <= s.length(); ++i) {// 长度
			for (int j = 0; j <= s.length() - i; ++j) {// 起点
				if (!set.contains(s.substring(j, j + i)))
					System.out.println(s.substring(j, j + i));
				set.add(s.substring(j, j + i));
			}
		}
		System.out.println(set.size());
	}
}

你可能感兴趣的:(第十届蓝桥杯 javaB 不同子串)