在一个小写英文字母(a-z)组成的字符串的最短子串,其包含这个字符串中出现过的所有字母,输出最左边的该类子串

简介: 在一个小写英文字母(a-z)组成的字符串的最短子串,其包含这个字符串中出现过的所有字母,输出最左边的该类子串
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();
        String subStr = str;
        //两层循环使得各种字串情况可以详尽
        for (int i = 0; i < str.length(); i++) {
            for (int j = i; j < str.length(); j++) {
                if (check(str.substring(i,j+1),str)){
                    if (str.substring(i,j+1).length() < subStr.length()){
                        subStr = str.substring(i,j+1);
                    }
                }
            }
        }
        System.out.println(subStr);
    }
    //检查str中的每一个字符是不是都可以在newSubStr中找到
    public  static boolean check(String newSubStr,String str){
        for (int i = 0; i < str.length(); i++) {
            if (newSubStr.indexOf(str.charAt(i)) == -1){
                return false;
            }
        }
        return true;
    }
}
相关文章
|
5月前
|
存储
【字符串】最长不含重复字符的子字符串
【字符串】最长不含重复字符的子字符串
|
23天前
输入一个字符,判断该字符是大写字母、小写字母,数字还是其他字符,并作相应的显示。
输入一个字符,判断该字符是大写字母、小写字母,数字还是其他字符,并作相应的显示。 提示:利用ord()函数来获得字符的 ASCIl。
18 1
输入一个字符,判断该字符是大写字母、小写字母,数字还是其他字符,并作相应的显示。
|
10月前
|
存储
练习>>代码实现将一个字符串中的小写字母变为大写
练习>>代码实现将一个字符串中的小写字母变为大写
46 0
判断字符串首个字母是否大写,若大写,则输出该字符串中大写字母的个数 并打印。
判断字符串首个字母是否大写,若大写,则输出该字符串中大写字母的个数 并打印。
113 0
求字符串中大小写字母个数及其他符号个数!
求字符串中大小写字母个数及其他符号个数!
43 0
|
存储 算法
算法:编程在一个已知的字符串中查找最长单词,假定字符串中只包含字母和空格,空格用来分隔不同单词
算法:编程在一个已知的字符串中查找最长单词,假定字符串中只包含字母和空格,空格用来分隔不同单词
判断字符串中只含有字母和问题
判断字符串中只含有字母和问题
56 0
在一个由小写英文字母(a-z)组成的字符串中,查找最短子串,其头尾字母相同。输出最左边的该类子串。
在一个由小写英文字母(a-z)组成的字符串中,查找最短子串,其头尾字母相同。输出最左边的该类子串。
50 0
在一个由小写英文字母(a-z)组成的字符串中,查找最长子串,其头尾字母相同,且中间不包含该头尾字母,并输出最左边的该类子串
在一个由小写英文字母(a-z)组成的字符串中,查找最长子串,其头尾字母相同,且中间不包含该头尾字母,并输出最左边的该类子串
137 0
7-8 字符串字母大小写转换 (15 分)
7-8 字符串字母大小写转换 (15 分)
263 0

热门文章

最新文章