鱼C论坛

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

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

[复制链接]
发表于 2019-10-21 11:36:27 | 显示全部楼层
本帖最后由 panheng 于 2019-10-21 11:38 编辑
  1. def answer(lst):
  2.     res = list(filter(lambda x: lst.count(x) > len(lst) / 2, set(lst)))
  3.     if len(res) != 0:
  4.         return res[0]
  5.     else:
  6.         return None
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-21 20:21:04 | 显示全部楼层
lucky邪神 发表于 2019-10-20 22:39
如果整数数组的元素中没有这样的元素,需要返回吗(是什么?)

测试数据一定会有。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-21 20:22:40 | 显示全部楼层

恭喜通过!

执行用时:1492 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-21 20:23:58 | 显示全部楼层
塔利班 发表于 2019-10-20 14:57
时间复杂度低
强行一行

恭喜通过!

执行用时:1493 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-21 20:25:35 | 显示全部楼层
18511353234 发表于 2019-10-20 15:29
没啥基础的人瞎写的:

恭喜通过!

执行用时:1440 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-21 20:26:22 | 显示全部楼层

恭喜通过!

执行用时:1583 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-21 20:27:48 | 显示全部楼层

恭喜通过!

执行用时:1551 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-21 20:28:46 | 显示全部楼层

恭喜通过!

执行用时:1277 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-21 20:29:31 | 显示全部楼层
战场原 发表于 2019-10-20 21:15
def solution(nums: list) -> int:
    myDict = {}
    mylen = len(nums)//2

恭喜通过!

执行用时:1207 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-21 20:31:21 | 显示全部楼层

恭喜通过!

执行用时:2288 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-21 20:32:04 | 显示全部楼层
Unicorn# 发表于 2019-10-20 21:31
来啦来啦
错过了好几期呜呜呜

恭喜通过!

执行用时:1351 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-10-21 20:35:20 | 显示全部楼层
阴阳神万物主 发表于 2019-10-21 07:41
我这里采用 None 对象来返回出现数组中只有两种元素,但是这两种元素出现的频率完全一样的情况。比如:[1,1 ...

恭喜通过!(赶在 “末班车”,后面的人没奖励了)

执行用时:1477 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-21 22:38:19 | 显示全部楼层
  1. # 经典的主元素问题,具体的参考:《算法设计技巧与分析》 p98
  2. def main_element(list):
  3.     key = list[0]
  4.     count = 1
  5.     list_len = len(list)
  6.     try:
  7.         # 取出主元素
  8.         for i in range(1,list_len-1):
  9.             if key == list[i]:
  10.                 count += 1
  11.             elif count > 0:
  12.                 count -= 1
  13.             else:
  14.                 key = list[i]
  15.         # 判断取出的主元素是不是主元素
  16.         count = 0
  17.         for i in range(0,list_len):
  18.             if key == list[i]:
  19.                 count += 1
  20.         if count > list_len/2:
  21.             print('主元素为'+ str(key))
  22.         else:
  23.             print('没有主元素。')
  24.     except:
  25.         pass

  26. a = [1,2,2,2,3,1]
  27. main_element(a)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-22 07:50:55 | 显示全部楼层
zltzlt 发表于 2019-10-21 20:35
恭喜通过!(赶在 “末班车”,后面的人没奖励了)

执行用时:1477 ms

诶?这么巧?我感觉我可以去买彩票了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-22 12:14:17 | 显示全部楼层
def get_max(nums):
    s = {}
    for i in nums:
        if i in s.keys():
            s[i] = s[i]+1
        else:
            s[i] = 1
    v=[]
   
    for i in s.keys():
        v.append(s[i])
    for key,value in s.items():
        if value == max(v):
            return key,value
        else:
            continue

print(get_max([3,3,1,1,1,1,2,2] ))
这么多天后才做
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-22 14:02:09 | 显示全部楼层
本帖最后由 PingMinczy 于 2019-10-22 14:05 编辑

def my_func(li_arg):
    half_num = len(li_arg)/2
    set_li_arg = set(li_arg)
    for value in li_arg:
        if li_arg.count(value) > half_num:
            return value
    return None
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-24 18:20:12 | 显示全部楼层
  1. def main_element(list1:list):
  2.     for var in set(list1):
  3.         if list1.count(var) > len(list1)//2:
  4.             return var
  5.     return '该数组没有主元素'
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-10 16:05:01 From FishC Mobile | 显示全部楼层
idle新的版本好像没有
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-18 15:42:20 | 显示全部楼层
def fun2(L):
    Lenght = len(L)
    for element in L:
        if(L.count(elment)>(Length/2)):
            print(‘%d是主元素’ % (element))
            break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 22:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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