鱼C论坛

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

[技术交流] Python:每日一题 184

[复制链接]
发表于 2018-7-18 20:31:42 | 显示全部楼层

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

使用道具 举报

发表于 2018-7-18 20:35:37 | 显示全部楼层

额,这个我觉得没问题吧。
54321 返回 5,可以理解啊。
如果一定要返回至少2位,在最后加个判断即可,如果是一位,返回None。
但是我觉得这样不妥。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-18 20:37:48 | 显示全部楼层

递减没判断出来,1231234123时候识别不是1234
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-18 20:39:21 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-18 20:41:42 | 显示全部楼层
久疤K 发表于 2018-7-18 20:35
额,这个我觉得没问题吧。
54321 返回 5,可以理解啊。
如果一定要返回至少2位,在最后加个判断即可, ...

主要是5没人和他凑递增吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-18 20:46:53 | 显示全部楼层
塔利班 发表于 2018-7-18 20:41
主要是5没人和他凑递增吧


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

使用道具 举报

发表于 2018-7-18 21:03:15 | 显示全部楼层
本帖最后由 凌九霄 于 2018-7-18 21:44 编辑
塔利班 发表于 2018-7-18 20:37
递减没判断出来,1231234123时候识别不是1234


感谢细心的检查,确实有问题。放弃了原来的方法,弄了个更简单的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-19 20:24:07 | 显示全部楼层


多谢提出,确实忽略了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-19 22:07:20 | 显示全部楼层
错位,递增的可以随意用set
  1. def fun(numStr):
  2.     lst = "".join(i+j if i<j else " " for i, j in zip(numStr, numStr[1:])).split()
  3.     return "".join(sorted(set(max(lst, key = lambda i: len(i))))) if lst else None
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-30 22:35:35 | 显示全部楼层
本帖最后由 子沙 于 2018-10-1 09:34 编辑
  1. def fun_184(str1):
  2.     list1,i,str1=[],0,str1+'0'
  3.     while i<len(str1)-1:
  4.         j=i
  5.         while i<len(str1)-1:
  6.             if int(str1[i])<int(str1[i+1]):
  7.                 i+=1
  8.             else:
  9.                 i+=1
  10.                 list1.append(str1[j:i])
  11.                 break
  12.     list2=list(map(lambda x:len(x),list1))
  13.     return list1[list2.index(max(list2))]
  14. print(fun_184('89628412246737623568992'))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-7 15:10:46 | 显示全部楼层
  1. def test184(numStr):
  2.     start, lens, ms, ml = 0, 1, 0, 0
  3.     for i in range(len(numStr) - 1):
  4.         if numStr[i] < numStr[i + 1]:
  5.             lens += 1
  6.         else:
  7.             if lens > ml:
  8.                 ms, ml = start, lens
  9.             start, lens = i + 1, 1
  10.     print(numStr[ms:ms + ml])
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 15:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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