zltzlt
发表于 2020-3-29 17:33:12
fan1993423 发表于 2020-3-28 20:25
40 ms
TJBEST
发表于 2020-3-29 17:34:34
zltzlt 发表于 2020-3-29 17:26
60 ms
还可以吧
BngThea
发表于 2020-3-29 17:34:51
zltzlt 发表于 2020-3-29 17:31
是超时不是解答错误哦
超时意味着效率低
不是,因为少了简单判断,里面进入了死循环,不是简单的超时问题
zltzlt
发表于 2020-3-29 17:36:49
BngThea 发表于 2020-3-29 17:34
不是,因为少了简单判断,里面进入了死循环,不是简单的超时问题
好吧,我刚刚复制了你上一次的代码{:10_266:}以为你理解错了我的意思
tommyyu
发表于 2020-3-29 17:49:51
def a(s):
c = []
n = 0
flag = True
while s:
c.append(s % 10)
s //= 10
if n != 0:
if c > c:
flag = False
break
n += 1
return flag
x = int(input("请输入:"))
c = ["木有"]
for i in range(x,0,-1):
if a(i):
c = i
print(c)
TJBEST
发表于 2020-3-29 17:52:43
zltzlt 发表于 2020-3-29 17:26
60 ms
您再测一个这个,改进了一下,不知道快慢@zltzlt
def fun361(num):
def split(num):
result = []
while num:
result.append(num%10)
num = num // 10
result.reverse()
return result
if num < 10:
return num
bits = split(num)
M = len(bits)
position = M
state = False
for i in range(0,M-1):
if bits == bits:
if state == False:
position = i
state = True
else:
pass
elif bits < bits:
if state == False:
pass
else:
state = False
position = M
else:
if state == True:
break
else:
position = i
break
else:
position = M
if position > M - 1:
return num
else:
temp = 0
for i in range(0,position+1):
temp += bits*(10**(M-1-i))
return temp - 1
zltzlt
发表于 2020-3-29 17:54:23
TJBEST 发表于 2020-3-29 17:52
您再测一个这个,改进了一下,不知道快慢@zltzlt
44 ms
zltzlt
发表于 2020-3-29 19:36:18
一个账号 发表于 2020-3-28 20:47
超时
zltzlt
发表于 2020-3-29 21:32:23
kinkon 发表于 2020-3-28 21:17
上面的可能超时了,试试下面的
再优化一下
44 ms
zltzlt
发表于 2020-3-29 21:33:39
Herry2020 发表于 2020-3-28 21:31
n = 332
s = str()
def fun361(n):
输入 393457075 超时
zltzlt
发表于 2020-3-29 21:36:51
mdphd 发表于 2020-3-28 21:37
请楼主帮忙看看我写的359、360,谢谢!
不知道为什么直到刚刚才刷新出来这三天的每日一题,才做的……{: ...
解答错误
输入:332
输出:329
预期结果:299
fan1993423
发表于 2020-3-29 21:49:50
为什么我速度算快的,加的鱼币还比他们少啊
zltzlt
发表于 2020-3-29 21:50:28
fan1993423 发表于 2020-3-29 21:49
为什么我速度算快的,加的鱼币还比他们少啊
实在没鱼币了,明天再补上吧
fan1993423
发表于 2020-3-29 21:53:16
{:10_250:}
_Konglong
发表于 2020-3-29 22:32:47
本帖最后由 _Konglong 于 2020-3-29 22:37 编辑
def f361(n):
list1 = []
jishu = 0
wenben = ""
if len(n) == 1:
print(n)
return n
for i in range(int(n)):
list1.append(int(i+1))
for e in range(len(list1)):
list2 = list(str(list1.pop()))
for r in range(len(list2)):
yi = list2
if r == len(list2)-1:
break
er = list2
if yi > er:
break
else:
jishu += 1
if jishu == len(list2)-1:
for o in list2:
wenben += str(o)
print(wenben)
return o
jishu = 0
while True:
f361(input("输入"))
萌新写的 不是很好{:10_269:}
whosyourdaddy
发表于 2020-3-29 22:47:19
def func361(n):
temp = str(n)
t = 0
for i in range(len(temp)-1):
if temp<temp:
t += 1
elif temp>temp:
m = int(temp)-1
temp = temp[:t]+ str(m)+ '9'*(len(temp)-t-1)
return int(temp)
return int(temp)
zltzlt
发表于 2020-3-30 13:21:34
chen971130 发表于 2020-3-28 21:44
我的代码好长
输入 114191537 超时
zltzlt
发表于 2020-3-30 13:22:27
sjtuszy 发表于 2020-3-28 23:39
解答错误
输入:332
输出:329
预期结果:229
zltzlt
发表于 2020-3-30 13:23:50
sYMMetrY 发表于 2020-3-29 00:27
解答错误
输入:10
输出:'09'
预期结果:9
需要返回整数
zltzlt
发表于 2020-3-30 13:26:14
ouyunfu 发表于 2020-3-29 03:14
解答错误
输入:10
输出:'09'
预期结果:9
需要返回整数