鱼C论坛

 找回密码
 立即注册
楼主: zltzlt

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

[复制链接]
 楼主| 发表于 2020-3-7 22:37:39 | 显示全部楼层

解答错误

输入:0
输出:2
预期结果:1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-7 22:38:54 | 显示全部楼层
TJBEST 发表于 2020-3-6 20:53
来晚了,又抢不到第一了

输入 0 出错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2020-3-7 22:40:08 | 显示全部楼层
一个账号 发表于 2020-3-6 21:13
请楼主帮忙测试:

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

使用道具 举报

 楼主| 发表于 2020-3-7 22:40:30 | 显示全部楼层

输入 0 出错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-7 22:40:59 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-7 22:41:24 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-7 22:41:54 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-7 22:42:31 | 显示全部楼层

解答错误

输入:2147482622
输出:21
预期结果:30
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-7 22:43:31 | 显示全部楼层

解答错误

输入:2147483647
输出:31
预期结果:32
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-7 22:43:56 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-7 22:44:21 | 显示全部楼层

没考虑 n 为 0 的情况
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-7 22:53:48 | 显示全部楼层
没考虑0的情况,现在呢?
  1. from itertools import groupby
  2. def fun345(num):
  3.     if num==0:return 1
  4.     t=[]
  5.     for k,v in groupby(bin(num)[2:]):
  6.         t.append(len(list(v)))
  7.     if len(t)==1 or len(t)==2:return t[0]+1
  8.     count,result=0,0
  9.     if bin(num)[-1]=='1':
  10.         for i in range(1,len(t),2):
  11.             if t[i]==1:
  12.                 result=max(count,t[i-1]+t[i+1]+1)
  13.                 count=result
  14.             else:
  15.                 result=max(count,t[i-1]+1,t[i+1]+1)
  16.                 count=result
  17.     else:
  18.         for i in range(1,len(t)-1,2):
  19.             if t[i]==1:
  20.                 result=max(count,t[i-1]+t[i+1]+1)
  21.                 count=result
  22.             else:
  23.                 result=max(count,t[i-1]+1,t[i+1]+1)
  24.                 count=result
  25.     return result
复制代码

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
zltzlt + 2 + 2

查看全部评分

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

使用道具 举报

发表于 2020-3-8 12:49:35 | 显示全部楼层
number1 = int(input('输入:'))
if number1 > 0:
    number2 = bin(number1).replace('0b','')
else:
    number2 = bin(number1).replace('-0b','')

list1 = number2.split('0')
c = 0
for i in range(len(list1) - 1):
    if len(list1[i])+len(list1[i+1])+1 > c:
        c = len(list1[i])+len(list1[i+1])+1
print(c)

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
zltzlt + 1 + 1

查看全部评分

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

使用道具 举报

 楼主| 发表于 2020-3-9 12:57:31 | 显示全部楼层
fan1993423 发表于 2020-3-7 22:53
没考虑0的情况,现在呢?

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

使用道具 举报

 楼主| 发表于 2020-3-9 12:58:27 | 显示全部楼层
黎影 发表于 2020-3-8 12:49
number1 = int(input('输入:'))
if number1 > 0:
    number2 = bin(number1).replace('0b','')

解答错误

输入:0
输出:2
预期结果:1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-9 13:00:03 | 显示全部楼层

解答错误

输入:2147483647
输出:31
预期结果:32
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-9 13:00:25 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-9 13:01:08 | 显示全部楼层

解答错误

输入:2147482622
输出:21
预期结果:30
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-9 13:01:56 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-24 21:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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