鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: zltzlt

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

[复制链接]
 楼主| 发表于 2020-4-2 13:17:07 | 显示全部楼层

输入 "baaba" 解答错误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-2 13:17:57 | 显示全部楼层
March2615 发表于 2020-3-31 19:14
我就说怎么就少了两天的题,原来是没有363

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

使用道具 举报

 楼主| 发表于 2020-4-2 13:18:38 | 显示全部楼层
TJBEST 发表于 2020-3-31 20:36
不是最快的应该,但是最好想。非常朴素

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

使用道具 举报

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

输入 "blflxll" 解答错误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-2 13:21:59 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-2 13:22:39 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-2 13:23:05 | 显示全部楼层

输入 "vvvlo" 解答错误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-2 13:23:31 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-2 13:25:07 | 显示全部楼层

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

使用道具 举报

 楼主| 发表于 2020-4-2 13:25:46 | 显示全部楼层

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

使用道具 举报

 楼主| 发表于 2020-4-2 13:26:11 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-2 13:27:18 | 显示全部楼层

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

使用道具 举报

 楼主| 发表于 2020-4-2 13:27:43 | 显示全部楼层

输入 "aab" 解答错误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-2 13:28:14 | 显示全部楼层
旅途Z 发表于 2020-4-1 23:54
import operator
from math import ceil

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

使用道具 举报

发表于 2020-4-2 13:43:14 | 显示全部楼层
zltzlt 发表于 2020-4-2 13:17
输入 "baaba" 解答错误

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

使用道具 举报

 楼主| 发表于 2020-4-2 17:42:59 | 显示全部楼层

输入 "blflxll" 解答错误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-2 20:25:06 | 显示全部楼层
zltzlt 发表于 2020-4-2 13:27
输入 "aab" 解答错误
def f(s):
    dict1 = {}
    for each in s:
        if each in dict1.keys():
            dict1[each] += 1
        else:
            dict1.setdefault(each,1)
    max1 = max(dict1.values())
    if max1*2-1 > len(s):
        return ''
    else:
        a = 1
        while a <len(s):
            if s[a] == s[a-1]:
                b = s[a]
                s = s[:a]+s[a+1:]
                if b != s[0]:
                    s = b+s
                else:
                    for each in range(1,len(s)):
                        if b != s[each-1] and b != s[each]:
                            s = s[:each]+b+s[each:]
                            if each < a:
                                a+1
                            else:
                                a = a
                    if each == len(s)-1:
                        s = s+b
            else:
                a += 1
        return s

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-4-2 20:27:35 | 显示全部楼层
def f365(string):
    new_st = ''
    dict_string = dict(zip(list(string),[0]*(len(string))))
    for each in string:
        dict_string[each] += 1

    #若字符串中一个元素出现的最大次数超过一半(奇数加一的一半,偶数的一半)则返回空字符串
    if max(dict_string.values()) > ((len(string)+1)//2):
        return new_st
    
    #剩余的情况返回字符串
    else:
        #对字符串重新排序,依照元素频次高低对元素排列
        i = 0
        for each in dict_string:            
            j = dict_string[each]
            if j > i:
            #判定条件应为大于而不应该改是>=,不然会导致当连续出现相同较低频次时候,会使得这一低频次元素排列至最前端,如vvvbl--> lvvvb
                while dict_string[each]:                        
                    new_st = each + new_st
                    dict_string[each] -= 1

            else:
                while dict_string[each]:                        
                    new_st = new_st + each
                    dict_string[each] -= 1
            i = j
            
        #将新排列的字符串平分为两部门[前半部分:后半部分],并将后半部分间隔插入前半部分字符串中        
        if len(string)%2 == 0:#偶数情况直接平分        
            st1 = new_st[:((len(string)+1)//2)]
            st2 = new_st[((len(string)+1)//2):]
        else:#考虑到map函数在此情况下两段字符串数量不一致(前半部分多一个元素)会少输出一组,人为引入一个元素
            st1 = new_st[:((len(string)+1)//2)]    
            st2 = new_st[((len(string)+1)//2):] + 'X'

        st_l = list(map(lambda i,j: i+j, st1, st2))               

        if len(string)%2 == 0:
            return ''.join(st_l)#偶数情况直接得到真值
        else:
            return ''.join(st_l)[:-1]#将引入的元素去除,返回真值
将之前的第十三行代码删除(冗余),第十九行代码 i>=j的判定条件改为i>j

评分

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

查看全部评分

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

使用道具 举报

 楼主| 发表于 2020-4-4 20:04:03 | 显示全部楼层

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

使用道具 举报

 楼主| 发表于 2020-4-4 20:04:59 | 显示全部楼层
sYMMetrY 发表于 2020-4-2 20:27
将之前的第十三行代码删除(冗余),第十九行代码 i>=j的判定条件改为i>j

解答错误

输入:"kkkkzrkatkwpkkkktrq"
输出:"tktkrkrkkzkakwkpkqk"
预期结果:"krkrktktkakpkqkwkzk"(或其他合法的答案)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 23:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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