首页 > 试题广场 >

提取不重复的整数

[编程题]提取不重复的整数
  • 热度指数:542946 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
保证输入的整数最后一位不是 0 。

数据范围:

输入描述:

输入一个int型整数



输出描述:

按照从右向左的阅读顺序,返回一个不含重复数字的新的整数

示例1

输入

9876673

输出

37689
头像 sky_哒哒哒
发表于 2021-11-09 00:23:45
思路: 1、以字符串方式接收,并对字符串进行逆序 2、依次从字符串中取值,并判断是否在定义的集合中,不在的话就添加到集合中,并打印该字符,在的话就跳过继续进行下一轮循环 a = input() a = a[::-1] num=[] for i in a: if i in num: 展开全文
头像 笔架鱼
发表于 2022-01-19 09:35:56
C语言 10 行有效代码 解决~~~~ 解题思路: 1、将输入的整数 分别与10 相除,后得到的余数,然后如果 对应map[余数] 的值为0 ,则说明是一个没有重复的数字将其打印出来,反之则不打印该数字 2、循环条件,处理完个位数后,  将其/10,后继续判断十位 展开全文
头像 mjyhjr
发表于 2021-10-08 01:02:37
使用HashSet的不重复性来判断 求解每一位数字,然后注意添加到HashSet中,如果能添加进去,则说明是没有重复的,可以输出答案 如果无法加入成功,则说明是已经重复了,可以到下一位 import java.util.*; public class Main{ public stat 展开全文
头像 IAmKelly
发表于 2022-03-01 10:12:36
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //逆序排列 String 展开全文
头像 Lchenglong
发表于 2022-01-04 12:58:05
python 解法 先用集合去重,由于set()去重后会乱序,再对去重后的列表按照原先的顺序进行排序即可。 list1 = list(input()[::-1]) list2 = list(set(list1)) list2.sort(key = list1.index) print(''.join 展开全文
头像 牛客466752292号
发表于 2022-04-22 16:26:00
其中把数字的各个位的数提取出来,因此输出之后已经是反序,因为输出的位数肯定是0-9的数字,标记数组a都赋值为零,当一个数字输出之后赋值为1,在if中添加标记一项,为0即没出现,不重复,则输出,否则不进行输出。 #include using namespace std; int main() { in 展开全文
头像 少给我¥扯淡
发表于 2020-03-28 11:15:56
import java.util.Scanner; /** * 题目描述 * 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。 * 输入描述: * 输入一个int型整数 * 输出描述: * 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 * * 展开全文
头像 举世唯美
发表于 2020-02-26 19:42:03
#include <stdio.h> int main(void) { int array[10] = { 0 }; int length; scanf("%d", &length); 展开全文
头像 牛客584080440号
发表于 2022-01-27 10:12:16
思路 1、该问题可以直接利用字符串包含不包含,截取 import java.util.*; public class Main{ public static void main(String agrs[]) { Scanner sc = new Scanner(Syste 展开全文
头像 wentian3007
发表于 2020-03-10 23:56:40
用哈希表,秒杀 #include<iostream> #include<vector> using namespace std; int main() { int num,n; vector<int> hash(10,0); cin> 展开全文