永恒的蓝色梦想 发表于 2020-4-17 21:48:54

fan1993423 发表于 2020-4-17 21:26
我这个如果运气好,也许第一个i就能出答案哦,另外版主能不能314,349测一下,我最近想出来的

是有可能第一个出答案,但排序的时候就把效率给赔进去了……{:10_277:}

whosyourdaddy 发表于 2020-4-17 22:08:21

from collections import Counter
def func378(arr):
    temp = Counter(arr)
    temp_set = set(arr)
    n = 0
    for number in temp_set:
      if number+1 in temp_set:
            n = max(n,temp+temp)
    return n

fan1993423 发表于 2020-4-17 22:21:45

kinkon 发表于 2020-4-17 21:40
按数量排序有可能会出错,例如,

好像是哈,我给忽略还有这种可能性。已改

1394116864 发表于 2020-4-18 00:06:53

target_list = eval(input("Fill in the array:"))
element = {}
target_element = []
adding_result = []
result = []
for each_element in target_list: # 统计各元素出现的次数
    element = element.get(each_element,0) + 1
keys = sorted(list(element.keys()))
for i in keys:
    if i+1 in keys:
      target_element.append(i)
for j in target_element:
    adding_result.append(element+element)
for index in range(len(adding_result)):
    if adding_result == max(adding_result):
      break

for x in range(element]):
    result.append(target_element)
for y in range(element+1]):
    result.append(target_element+1)
print(len(result))

斐波纳税 发表于 2020-4-18 00:50:16

本帖最后由 斐波纳税 于 2020-4-18 02:09 编辑

def fun378(lst):
    count = 0
    for eachone in lst:
      if lst.count(eachone) + lst.count(eachone+1) > count:
            count = lst.count(eachone) + lst.count(eachone+1)
    return count

ouyunfu 发表于 2020-4-18 04:31:45

from collections import Counter
def f378(nums):
    n,m,s = Counter(nums),0,sorted(set(nums))
    for i in range(1,len(s)):
      if s-s==1:
            m = max(m, n] + n])
    return m

kinkon 发表于 2020-4-18 09:17:11

@zltzlt 336题也重新完成了,麻烦楼主重新测试下,谢谢

zltzlt 发表于 2020-4-18 13:31:16

kinkon 发表于 2020-4-17 18:47
试试看能不能通过,速度应该是很慢的

92 ms

zltzlt 发表于 2020-4-18 13:32:05

永恒的蓝色梦想 发表于 2020-4-17 18:52
方法超级捞

44 ms

zltzlt 发表于 2020-4-18 13:32:31

March2615 发表于 2020-4-17 19:21


45 ms

zltzlt 发表于 2020-4-18 13:32:40

本帖最后由 zltzlt 于 2020-4-18 13:34 编辑

小甲鱼de粉丝 发表于 2020-4-17 19:39
一定要连续的吗

不是

永恒的蓝色梦想 发表于 2020-4-18 13:33:54

zltzlt 发表于 2020-4-18 13:32
是的

子序列,应该不一定是连续的

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

kinkon 发表于 2020-4-17 19:40
优化一下

46 ms

爱叫什么叫什么 发表于 2020-4-18 13:55:50

新人宝宝来看大神

jkluoling1992 发表于 2020-4-18 14:32:06

这个算的子序列,,子序列不是连续的吗?

永恒的蓝色梦想 发表于 2020-4-18 14:42:40

jkluoling1992 发表于 2020-4-18 14:32
这个算的子序列,,子序列不是连续的吗?

字串才是连续的

jkluoling1992 发表于 2020-4-18 16:18:51

永恒的蓝色梦想 发表于 2020-4-18 14:42
字串才是连续的

不明白,,这里是看数组的子数组,或者子列表,为啥要提字符串?

永恒的蓝色梦想 发表于 2020-4-18 16:39:23

jkluoling1992 发表于 2020-4-18 16:18
不明白,,这里是看数组的子数组,或者子列表,为啥要提字符串?

子串……打错了……

jkluoling1992 发表于 2020-4-18 17:00:10

永恒的蓝色梦想 发表于 2020-4-18 14:42
字串才是连续的

一般出题都是连续子序列,第一次看见不是连续的

风魔孤行者 发表于 2020-4-18 17:12:40

def f(list1):
    count = 0
    list2 = list(set(list1))
    for n in range(len(list2)-1):
      if list2-list2 == -1:
            c = list1.count(list2) + list1.count(list2)
            if c>count:
                count = c
    return count      
页: 1 [2] 3 4
查看完整版本: Python:每日一题 378