面试之算法基础系列(1)最长子字符串、字符串同构

各位粉丝小伙伴、小哥哥小姐姐、路过的读者朋友,感谢您的浏览和支持。
有幸入围一年一度的优快云博客之星评选活动,希望大家可以点击链接 https://bss.youkuaiyun.com/m/topic/blog_star2020/detail?username=cufeecr扫描下方二维码投出宝贵的一票或者多票,让我更进一步,江湖救急,要是有帮得上忙的地方绝对义不容辞,可以为你互投,也可以帮忙下载资源,还可以互关三连,多谢啦。
新的一年,愿我们一起变得更强💪💪💪
toupiaozhuanshuerweima

1.最长子字符串

题目为:

【题目】
给定一个字符串,给定一个数字k ( 0< k ≤ 字符串长度),输出最长的包含k个不同字符子串的长度。
【Example】
“cbca”, k=2,输出最长的包含2个不同字符子串的长度。
答案:3
题目来源:百度 SRE工程师实习生 一面,可点击https://www.nowcoder.com/discuss/585284查看一面凉经/(ㄒoㄒ)/~~

最容易想到的是暴力解法,就是遍历求出字符串的所有子串,并找出不同字符为k的最长字符,Python代码如下:

def find_max_substring(string, k):
    str_length = len(string)
    sub_string_list = (string[i:i + j + 1] for j in range(str_length) for i in range(str_length - j))
    length_list = []
    for sub_string in sub_string_list:
        if len(set(list(sub_string))) == k:
            length_list
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东哥说AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值