题解 | #提取不重复的整数#

提取不重复的整数

http://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1

思路: 1、以字符串方式接收,并对字符串进行逆序 2、依次从字符串中取值,并判断是否在定义的集合中,不在的话就添加到集合中,并打印该字符,在的话就跳过继续进行下一轮循环

a = input()
a = a[::-1]
num=[]
for i in a:
    if i in num:
        continue
    else:
        num.append(i)
        print(i,end='')
全部评论
a = int(input()) #只能输入整数int l = str(a) #输入整数转换成字符可用索引 l = l.strip('0') s = l[::-1] num = [] for i in s: if i in num: continue else: num.append(i) print(i, end='')
1 回复 分享
发布于 2022-07-07 00:04
没有考虑n的后面有0的情况,num转换成string,然后lstrip(‘0’) 123000 321
8 回复 分享
发布于 2022-04-01 15:32
a = input() a = a[::-1] a=a.lstrip('0') num =[] for i in a: if i in num: continue else: num.append(i) print(i,end='')
2 回复 分享
发布于 2022-04-18 20:31
你这个输出应该是string,这不合题意呀。提交了也行?
1 回复 分享
发布于 2022-05-30 19:18
直接判断not in ,然后append就好了
1 回复 分享
发布于 2022-12-11 20:09 陕西
方法确实简洁高效,但是你这打印的是字符串
1 回复 分享
发布于 2023-01-30 21:56 上海
num = input() num = num[::-1] ta = [] if num[0] != "0": # 输入末尾为0,无输出 for i in num: if i in ta: continue else: ta.append(i) print(int(i),end="") 虽然,但是,我觉得这道题不适合作为入门题,初级题。另外他这个答案1没有考虑0的情况,2输出也不是整型,竟然也能通过!
1 回复 分享
发布于 2023-03-23 13:36 贵州
num=[] for i in a: if i in num:----num不是空列表嘛?if i in num:这句是什么意思?萌新一枚,忘解答
点赞 回复 分享
发布于 2022-05-04 20:49
并判断是否在定义的集合中,不在的话就添加到集合中 ,你定义的不是列表吗?不过列表也可以
点赞 回复 分享
发布于 2022-05-27 23:45
a = list(line[::-1]) b = list(set(a)) b.sort(key = a.index) c = b[1:] print(''.join(c))
点赞 回复 分享
发布于 2022-12-15 18:55 陕西
python就是方便
点赞 回复 分享
发布于 2022-12-31 01:02 河南
题意是输入int型
点赞 回复 分享
发布于 2023-02-18 21:08 江苏
输入的是整形,输出的也要求是整形,你这一开始就错了
点赞 回复 分享
发布于 2023-03-16 04:27 北京
if i in num是一个O(n)的操作,所以你这个写法是O(n^2)的时间复杂度。使用Set集合可以将O(n^2)变成O(n)
点赞 回复 分享
发布于 2023-07-19 15:38 广东
import sys for line in sys.stdin: a = line a = a[::-1] s = "" for i in a: if i not in s: s += i print(int(s)) 俺的
点赞 回复 分享
发布于 2023-09-07 16:26 新加坡
直接用切片来反正序列,漂亮,完全没想到
点赞 回复 分享
发布于 2024-11-12 18:38 上海
str=input() str=str[::-1] unique_str=''.join(sorted(set(str),key=str.index)) print(unique_str)
点赞 回复 分享
发布于 01-07 21:49 江苏

相关推荐

评论
142
18
分享

创作者周榜

更多
牛客网
牛客企业服务