在一个小写英文字母(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;
    }
}
相关文章
|
7月前
输入一个字符,判断该字符是大写字母、小写字母,数字还是其他字符,并作相应的显示。
输入一个字符,判断该字符是大写字母、小写字母,数字还是其他字符,并作相应的显示。 提示:利用ord()函数来获得字符的 ASCIl。
175 1
输入一个字符,判断该字符是大写字母、小写字母,数字还是其他字符,并作相应的显示。
判断字符串首个字母是否大写,若大写,则输出该字符串中大写字母的个数 并打印。
判断字符串首个字母是否大写,若大写,则输出该字符串中大写字母的个数 并打印。
169 0
|
存储 算法
算法:编程在一个已知的字符串中查找最长单词,假定字符串中只包含字母和空格,空格用来分隔不同单词
算法:编程在一个已知的字符串中查找最长单词,假定字符串中只包含字母和空格,空格用来分隔不同单词
判断字符串中只含有字母和问题
判断字符串中只含有字母和问题
74 0
在一个由小写英文字母(a-z)组成的字符串中,查找最长子串,其头尾字母相同,且中间不包含该头尾字母,并输出最左边的该类子串
在一个由小写英文字母(a-z)组成的字符串中,查找最长子串,其头尾字母相同,且中间不包含该头尾字母,并输出最左边的该类子串
169 0
在一个由小写英文字母(a-z)组成的字符串中,查找最短子串,其头尾字母相同。输出最左边的该类子串。
在一个由小写英文字母(a-z)组成的字符串中,查找最短子串,其头尾字母相同。输出最左边的该类子串。
77 0
7-8 字符串字母大小写转换 (15 分)
7-8 字符串字母大小写转换 (15 分)
313 0
772. 只出现一次的字符 ---- 给你一个只包含小写字母的字符串。请你判断是否存在只在字符串中出现过一次的字符
给你一个只包含小写字母的字符串。 请你判断是否存在只在字符串中出现过一次的字符。 如果存在,则输出满足条件的字符中位置最靠前的那个。
312 0
|
人工智能 BI
762 字符串匹配----给定两个长度相同的字符串 a 和字符串 b。如果在某个位置 i 上,满足字符串 a 上的字符 a[i] 和字符串 b 上的字符 b[i] 相同,那么这个位置上的字符就是匹配
给定两个长度相同的字符串 aa 和字符串 bb。 如果在某个位置 ii 上,满足字符串 aa 上的字符 a[i]a[i] 和字符串 bb 上的字符 b[i]b[i] 相同,那么这个位置上的字符就是匹配的。 如果两个字符串的匹配位置的数量与字符串总长度的比值大于或等于 kk,则称两个字符串是匹配的。
298 0
有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数
有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数
313 0