美文网首页
找字符串中最短的连续字符

找字符串中最短的连续字符

作者: bboyAyao | 来源:发表于2018-08-25 23:04 被阅读0次
设计一个函数,
输入: 一个字符串
输出: 一个整数
要求的是: 找出输入字符串中的一个最短的连续字符串, 使得这个字符串内包含所有字符至少一次.

注:方便观察结果,已用空格隔开
输入[1]: "ABCDE"
输出[1]: 5
输入[2]: "AB ABCDE"
输出[2]: 5
输入[3]: "ABA BCAAADE CCCCB"
输出[3]: 7

我的解法如下:

def find_str2(strA):
    str_len = len(strA)
    ele_num = len(set(strA))
    rel = str_len - ele_num
    count_num = str_len
    for j in range(rel+1):
        list1 = list(set(strA))
        list2 = []
        temp = 0
        for i in range(j,str_len):
            temp += 1
            if strA[i] in list1:
                list2.append(strA[i])
                list1.remove(strA[i])
                if not list1:
                    if temp < count_num:
                        end = i
                        start = end - temp + 1
                        strB = strA[start:end+1]
                        count_num = temp
                        break

    return count_num,strB

相关文章

  • Leetcode-214-Shortest Palindrome

    在给定字符串前面添加若干字符使得字符串变成回文字符串,问回文字符串中最短的字符串是什么。 这题的思路很简单,就是找...

  • 找字符串中最短的连续字符

    设计一个函数, 输入: 一个字符串 输出: 一个整数 要求的是: 找出输入字符串中的一个最短的连续字符串, 使得这...

  • LeetCode Minimum Window Substrin

    最短子字符串问题 问题描述 给定一个字符串S,和一个字符串T,在字符串S中找出最短的包含T中所有字符的子字符串。如...

  • [leetcode/lintcode 题解] 谷歌面试题:最短超

    给定一个字符串数组 A,找到以 A 中每个字符串作为子字符串的最短字符串。 我们可以假设 A 中没有字符串是 A中...

  • 获取数组中字符串相同的结尾

    // 先比较数组中字符串的长度,取最短长度的字符串作为for循环的终止条件 function getLen(A...

  • No repeats please(待解)

    要求 把一个字符串中的字符重新排列生成新的字符串,返回新生成的字符串里没有连续重复字符的字符串个数.连续重复只以单...

  • No repeats please

    把一个字符串中的字符重新排列生成新的字符串,返回新生成的字符串里没有连续重复字符的字符串个数.连续重复只以单个字符...

  • No repeats please

    把一个字符串中的字符重新排列生成新的字符串,返回新生成的字符串里没有连续重复字符的字符串个数.连续重复只以单个字符...

  • 【Javascript】No Repeats Please

    把一个字符串中的字符重新排列生成新的字符串,返回新生成的字符串里没有连续重复字符的字符串个数.连续重复只以单个字符...

  • 14.leetcode题目讲解(Python):最长公共前缀

    题目如下: 解题思路是首先找到最短的那个字符串,因为最长前缀不会超过这个最短字符串的长度。然后将该字符串转换为枚举...

网友评论

      本文标题:找字符串中最短的连续字符

      本文链接:https://www.haomeiwen.com/subject/xerniftx.html