鱼C论坛

 找回密码
 立即注册
楼主: zltzlt

[已解决]Python:每日一题 382

[复制链接]
 楼主| 发表于 2020-4-24 13:28:43 | 显示全部楼层
lucky邪神 发表于 2020-4-22 22:41
笨办法,初步想到这么,工作忙完在来想想

输入 s = "ababacb", k = 3 时结果有误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 13:31:11 | 显示全部楼层

还要接收一个整数 k
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 13:31:35 | 显示全部楼层
斐波纳税 发表于 2020-4-23 00:09
我只负责写bug,找bug就交给我们亲爱的版主了

输入 s = "ababacb", k = 3 时结果有误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 13:32:03 | 显示全部楼层

输入 s = "ababacb", k = 3 时结果有误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 13:32:26 | 显示全部楼层
_2_ 发表于 2020-4-23 08:53
然后就是 @zltzlt 回的一堆「解答错误」,
这点我深有感触

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 13:33:01 | 显示全部楼层

当 s 为空字符串时出错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 13:42:03 | 显示全部楼层

好多都是 力扣 上的难题坑题,我干脆不做
但是那个悬赏还是很诱人
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 20:21:30 | 显示全部楼层
def func382(s,k):
    temp = set(s)
    l = []
    for i in temp:
        if s.count(i) < k:
            l.append(i)
    if l == []:
        return max(s.count(i) for i in temp)
    for i in l:
        s = s.split(i)
    return max(len(i) for i in s)

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
zltzlt + 1 + 1

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-25 13:52:22 | 显示全部楼层
xiangjianshinan 发表于 2020-4-23 10:53
楼主:回复的
当 s 为空字符串时出错  
已修改~~~

输入以下数据出错:
s = "weitong"
k = 2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 17:11:10 | 显示全部楼层
def count_num(sag):
    count = {}
    for word in sag:
        if word not in count.keys():
            count[word] = 1
        elif word in count.keys():
            count[word] +=1
    return count   


def get_cut():
    global sag
    cut_num = len(sag)
    for i in range(0, len(sag)):
        if i == 0:
            yield sag
        else:
            for num in range(0, i+1):
                sag_cut = sag[num: num+cut_num]
                yield sag_cut
        cut_num -=1  
        
        
def judge(count, k):
    for num in count.values():
        if num < k:
            return False
            break
            
        else:
            pass
    return True
      
   
   
def get_sag(aa, k):
    try:
        while True:
            sag = next(aa)
            counts = count_num(sag)
            if judge(counts, k):
                return sag
                break
    except StopIteration:
        return '无符合条件字符串!'
   
sag = 'aaxaaaabbbbsfdrskkksskkk'
aa = get_cut()
get_sag(aa,2)        

这个代码只能返回一个结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-25 18:20:45 | 显示全部楼层

输入超长字符串超出时间限制
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-25 18:30:00 | 显示全部楼层
旅途Z 发表于 2020-4-23 13:23
有点像 二分法?2333

输入超长字符串超出时间限制
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-25 19:09:06 | 显示全部楼层

当 s 为 'ababacb' 时结果有误

子串要是连续的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 19:10:38 | 显示全部楼层
本帖最后由 小十九 于 2020-4-25 19:15 编辑

from collections import Counter
def Q382(lower_string,k):
    result_list = []
    substring = ""
    for n in range(0,len(lower_string)+1-k):
        for m in range(k+n,len(lower_string)+1):
            sub = lower_string[n:m]
            dict_string = Counter(sub)
            min_string = min(dict_string.values())
            if min_string >= k :
                result_list.append(sub)
    result = ''
    for i in result_list:
        if len(i)>len(result):
            result = i
    return len(result)

评分

参与人数 1荣誉 +4 鱼币 +4 收起 理由
zltzlt + 4 + 4

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 20:11:25 | 显示全部楼层
晚到了,末班车赶得上嘛?
def judge(t,k):
    a = list(set(map(str,t)))
    temp = ''
    for i in a :
        if t.count(i) >= k:
            temp += t.count(i)*i
    return len(temp)

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
zltzlt + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-26 08:20:40 | 显示全部楼层
zltzlt 发表于 2020-4-25 13:52
输入以下数据出错:

求问老大,您是怎么在查的???

我是连看别人的代码都懒得看的人(看不懂别人的思维方式)。

佩服佩服~~~~~~

另:代码已修改。辛苦大佬啦。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-26 13:17:04 | 显示全部楼层
xiangjianshinan 发表于 2020-4-23 10:53
楼主:回复的
当 s 为空字符串时出错  
已修改~~~


输入 s = 'ababacb', k = 3 结果有误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-26 13:17:55 | 显示全部楼层

输入以下数据结果有误:
s = "bbaaacbd"
k = 3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-26 13:19:41 | 显示全部楼层
whosyourdaddy 发表于 2020-4-24 20:21
def func382(s,k):
    temp = set(s)
    l = []

输入 s = 'aaabbb', k = 3 结果有误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-26 13:22:05 | 显示全部楼层
小十九 发表于 2020-4-25 19:10
from collections import Counter
def Q382(lower_string,k):
    result_list = []

输入超长字符串超出时间限制
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-3-14 19:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表