鱼C论坛

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

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

[复制链接]
发表于 2019-12-26 14:44:05 | 显示全部楼层
  1. def f294(lst):
  2.     lst.sort()
  3.     res = 0
  4.     for i in range(len(lst)-1):
  5.         if lst[i+1] - lst[i] > res:
  6.             res = lst[i+1] - lst[i]
  7.     return res
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-26 14:56:54 | 显示全部楼层
  1. def fun(s):
  2.     n = len(s)
  3.     if n < 2: return 0
  4.     s.sort()
  5.     ##result =
  6.     return max(map(lambda x, y: x - y,s[1:],s[:-1]))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-26 15:12:06 | 显示全部楼层
阴阳神万物主 发表于 2019-12-26 14:18
步长还能大?但是呢,步子太大容易扯到蛋啊。

扯到蛋,后面步上
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-26 15:28:16 | 显示全部楼层
常规写法
  1. def func294(lst):
  2.     lst = list(set(lst))
  3.     lst.sort()
  4.     maxn = 0
  5.     if len(lst) < 2:
  6.         return maxn
  7.     for i in range(1, len(lst)):
  8.         if (t := (lst[i] - lst[i-1])) > maxn:
  9.             maxn = t
  10.     return maxn
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-26 21:49:09 | 显示全部楼层
楼主,我的程序你只是打了分,没有说耗时啊,我想看看比较比较
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-26 23:30:31 | 显示全部楼层
本帖最后由 sn8625 于 2019-12-27 09:06 编辑
  1. import random

  2. def fun():
  3.         l = []
  4.         for i in range(100):
  5.                 l.append(random.randint(1,999))
  6.         print(l)

  7.         l.sort(reverse=False)
  8.         print(l)
  9.         for i in range(len(l)):
  10.                 if i + 1 < len(l):
  11.                         yield l[i + 1] - l[i]
  12.                 else:
  13.                         yield 0

  14. f = fun()
  15. print(max(list(f)))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-27 09:46:33 | 显示全部楼层

def Fun294(L):
    Compare = 0
    if len(L)<2:
        return 0
    else:
        L.sort()
        for i in range(len(L)-1):
            if (L[i+1] - L[i] >Compare):
                Compare = L[i+1] - L[i]
        return Compare,(L[i],L[i+1])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-27 12:20:52 | 显示全部楼层
  1. def f294(s):
  2.     if len(s)>1:
  3.         s.sort()
  4.         re=0
  5.         for i in range(len(s)-1):
  6.             if s[i+1]-s[i]>re:
  7.                 re=s[i+1]-s[i]
  8.         return re
  9.     else:
  10.         return 0
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2020-1-3 21:36:01 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-7 17:21:55 | 显示全部楼层
def f294(L):
    if len(L)<2:
        return 0
    else:
        L1=[]
        L.sort()
        for i in range(len(L)-1):
            L1.append(L[i+1]-L[i])   
        return max(L1)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-24 16:14:26 | 显示全部楼层
  1. def fun294(x):
  2.     x = sorted(x)
  3.     result = 0
  4.     if len(x) < 2:
  5.         return result
  6.     for i in range(len(x)-1):
  7.         if abs(x[i+1] - x[i]) > result:
  8.             result = abs(x[i+1] - x[i])
  9.     return result
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 08:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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