zltzlt 发表于 2020-4-2 13:17:07

BngThea 发表于 2020-3-31 18:49


输入 "baaba" 解答错误

zltzlt 发表于 2020-4-2 13:17:57

March2615 发表于 2020-3-31 19:14
我就说怎么就少了两天的题,原来是没有363




48 ms

zltzlt 发表于 2020-4-2 13:18:38

TJBEST 发表于 2020-3-31 20:36
不是最快的应该,但是最好想。非常朴素

44 ms

zltzlt 发表于 2020-4-2 13:19:03

ouyunfu 发表于 2020-3-31 20:38


输入 "blflxll" 解答错误

zltzlt 发表于 2020-4-2 13:21:59

l0stparadise 发表于 2020-3-31 22:08


40 ms

zltzlt 发表于 2020-4-2 13:22:39

archlzy 发表于 2020-3-31 22:27


160 ms

zltzlt 发表于 2020-4-2 13:23:05

sYMMetrY 发表于 2020-4-1 00:39


输入 "vvvlo" 解答错误

zltzlt 发表于 2020-4-2 13:23:31

sjtuszy 发表于 2020-4-1 03:14


48 ms

zltzlt 发表于 2020-4-2 13:25:07

hhb1988 发表于 2020-4-1 14:31


输入 "abbabbaaab" 出错

zltzlt 发表于 2020-4-2 13:25:46

kinkon 发表于 2020-4-1 14:37


输入以下数据结果有误:

"gpneqthatplqrofqgwwfmhzxjddhyupnluzkkysofgqawjyrwhfgdpkhiqgkpupgdeonipvptkfqluytogoljiaexrnxckeofqojltdjuujcnjdjohqbrzzzznymyrbbcjjmacdqyhpwtcmmlpjbqictcvjgswqyqcjcribfmyajsodsqicwallszoqkxjsoskxxstdeavavnqnrjelsxxlermaxmlgqaaeuvneovumneazaegtlztlxhihpqbajjwjujyorhldxxbdocklrklgvnoubegjrfrscigsemporrjkiyncugkksedfpuiqzbmwdaagqlxivxawccavcrtelscbewrqaxvhknxpyzdzjuhvoizxkcxuxllbkyyygtqdngpffvdvtivnbnlsurzroxyxcevsojbhjhujqxenhlvlgzcsibcxwomfpyevumljanfpjpyhsqxxnaewknpnuhpeffdvtyjqvvyzjeoctivqwann"

zltzlt 发表于 2020-4-2 13:26:11

NAMELESSONE 发表于 2020-4-1 14:48


40 ms

zltzlt 发表于 2020-4-2 13:27:18

raimond 发表于 2020-4-1 15:00


输入 "kkkkzrkatkwpkkkktrq" 超时

zltzlt 发表于 2020-4-2 13:27:43

风魔孤行者 发表于 2020-4-1 15:04


输入 "aab" 解答错误

zltzlt 发表于 2020-4-2 13:28:14

旅途Z 发表于 2020-4-1 23:54
import operator
from math import ceil



32 ms

BngThea 发表于 2020-4-2 13:43:14

zltzlt 发表于 2020-4-2 13:17
输入 "baaba" 解答错误

已改

zltzlt 发表于 2020-4-2 17:42:59

BngThea 发表于 2020-3-31 18:49


输入 "blflxll" 解答错误

风魔孤行者 发表于 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 += 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 == s:
                b = s
                s = s[:a]+s
                if b != s:
                  s = b+s
                else:
                  for each in range(1,len(s)):
                        if b != s and b != s:
                            s = s[:each]+b+s
                            if each < a:
                              a+1
                            else:
                              a = a
                  if each == len(s)-1:
                        s = s+b
            else:
                a += 1
      return s

sYMMetrY 发表于 2020-4-2 20:27:35

sYMMetrY 发表于 2020-4-1 00:39


def f365(string):
    new_st = ''
    dict_string = dict(zip(list(string),*(len(string))))
    for each in string:
      dict_string += 1

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

            else:
                while dict_string:                        
                  new_st = new_st + each
                  dict_string -= 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

zltzlt 发表于 2020-4-4 20:04:03

风魔孤行者 发表于 2020-4-2 20:25


输入 "bbbbayobq" 超时

zltzlt 发表于 2020-4-4 20:04:59

sYMMetrY 发表于 2020-4-2 20:27
将之前的第十三行代码删除(冗余),第十九行代码 i>=j的判定条件改为i>j

解答错误

输入:"kkkkzrkatkwpkkkktrq"
输出:"tktkrkrkkzkakwkpkqk"
预期结果:"krkrktktkakpkqkwkzk"(或其他合法的答案)
页: 1 [2]
查看完整版本: Python:每日一题 365