鱼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 | 显示全部楼层

输入以下数据结果有误:

  1. "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" 解答错误
  1. def f(s):
  2.     dict1 = {}
  3.     for each in s:
  4.         if each in dict1.keys():
  5.             dict1[each] += 1
  6.         else:
  7.             dict1.setdefault(each,1)
  8.     max1 = max(dict1.values())
  9.     if max1*2-1 > len(s):
  10.         return ''
  11.     else:
  12.         a = 1
  13.         while a <len(s):
  14.             if s[a] == s[a-1]:
  15.                 b = s[a]
  16.                 s = s[:a]+s[a+1:]
  17.                 if b != s[0]:
  18.                     s = b+s
  19.                 else:
  20.                     for each in range(1,len(s)):
  21.                         if b != s[each-1] and b != s[each]:
  22.                             s = s[:each]+b+s[each:]
  23.                             if each < a:
  24.                                 a+1
  25.                             else:
  26.                                 a = a
  27.                     if each == len(s)-1:
  28.                         s = s+b
  29.             else:
  30.                 a += 1
  31.         return s
复制代码

评分

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

查看全部评分

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

使用道具 举报

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

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

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

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

  35.         if len(string)%2 == 0:
  36.             return ''.join(st_l)#偶数情况直接得到真值
  37.         else:
  38.             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-5-19 04:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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