【发布时间】:2017-11-03 13:32:04
【问题描述】:
按升序排列的数字作为输入作为字符串给出。程序应该打印丢失的数字?
EX:
INPUT
567568600601602
OUTPUT
569
EXPLANATION
567,568,600,601,602 are the numbers in sequence and 569 is the missing number
INPUT
1112131516
OUTPUT
14
EXPLANATION
11,12,13,15,16 are the numbers in sequence and 569 is the missing
我的代码
a=input()
a=a.rstrip()
b=list(set(a))
l=[]
p=[]
c=0
for i in range(len(b)):
if a.count(b[i])>1:
c+=1
j=0
while j<=len(a):
l.append(a[j:j+c+1])
j=j+c+1
del l[-1]
k=int(l[0])
while k<=int(l[-1]):
p.append(k)
k=k+1
for u in range(len(p)):
if str(p[u]) not in l:
print(p[u])
break
我的查询:
如果以字符串形式输入 2 位或 4 位数字,我的程序无法找到丢失的数字。
input 6768707172
output of my program 677
expected output 69
如何检查字符串是否有 2 位或 3 位或 4 位数字并相应地分解它们?
【问题讨论】:
-
它正在返回 14 ...我刚刚检查过
-
我刚刚更新了代码。请检查新的输入!
-
这是一个流行的面试问题。您可以在此链接中找到逻辑geeksforgeeks.org/…
-
@SubhrajyotiDas,我熟悉python,不是C++
标签: python python-3.x