java笔试之提取不重复的整数
输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
此题可以使用linkedHashedSet\ArrayList\Stack\数组等来做。类似题目是输入一个数/字符串,从右往左输出,或者是输入一个数,删除重复数字输出等。
package test; import java.awt.List;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Scanner;
import java.util.Stack; /*
* 题目描述
* 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
* */
public class exam18 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int num = scanner.nextInt();
readOrder1(num);
// readOrder2(num);
// readOrder3(num);
// readOrder4(num);
}
scanner.close();
} public static void readOrder1(int num) {
// 方法1:使用linkedhashset有序集合
LinkedHashSet<Integer> set = new LinkedHashSet<Integer>();
while (num != 0) {
// 从右往左添加数到集合中
set.add(num % 10);
num /= 10;
}
// 使用迭代器,不知道下标
Iterator iterator = set.iterator();
while (iterator.hasNext()) {
Object value = iterator.next();
System.out.print(value);
} } public static void readOrder2(int num) {
// 使用arraylist查看list是否包含
String str = String.valueOf(num);
ArrayList list = new ArrayList();
for (int i = str.length() - 1; i >= 0; i--) {
char ch = str.charAt(i);
if (!list.contains(ch)) {
list.add(ch);
}
}
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i));
}
} public static void readOrder3(int num) {
// 方法3:使用一个下标标示0-9的整数数组,值作为存在标记
StringBuilder sb = new StringBuilder();
int[] arr = new int[10];
while (num > 0) {
int s = num % 10;
if (arr[s] == 0) {
arr[s] = 1;
sb.append(s);
}
num /= 10;
}
System.out.println(sb.toString());
} public static void readOrder4(int num) {
// 方法4:使用栈
Stack stack = new Stack();
String str = String.valueOf(num);
for (int i = str.length() - 1; i >= 0; i--) {
char ch = str.charAt(i);
if (!stack.isEmpty()) {
if (!stack.contains(ch)) {
stack.add(ch);
}
} else {
stack.push(ch);
}
}
Iterator iterator = stack.iterator();
while (iterator.hasNext()) {
System.out.print(iterator.next());
}
}
}
java笔试之提取不重复的整数的更多相关文章
- php实现 提取不重复的整数(编程题目能够最快的熟悉函数)
php实现 提取不重复的整数(编程题目能够最快的熟悉函数) 一.总结 一句话总结:编程题目能够最快的熟悉函数. 1.字符串反转函数? 没有str_revserse,有arr_reverse,这里是st ...
- python常见面试题讲解(八)提取不重复的整数
题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 示例1 ...
- bitmap对海量无重复的整数排序--转
原文地址:http://blog.csdn.net/u013074465/article/details/46956295 现在有n个无重复的正整数(n 小于10的7次方),如果内存限制在1.5M以内 ...
- Java笔试面试题整理第八波
转载至:http://blog.csdn.net/shakespeare001/article/details/51388516 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...
- Java笔试面试题整理第三波
转载至:http://blog.csdn.net/shakespeare001/article/details/51247785 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...
- Java笔试面试题整理第二波
转载至:http://blog.csdn.net/shakespeare001/article/details/51200163 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...
- Java笔试面试题整理第一波
转载至:http://blog.csdn.net/shakespeare001/article/details/51151650 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...
- 应聘Java笔试时可能出现问题及其答案
有感:应聘Java笔试时可能出现问题及其答案 huij 前段时间因为要参加一个笔试,在准备期间在网上找到了两条关于笔试题目的文章,其中一篇为<<有感:应聘Java笔试时可能出现问题> ...
- 疯狂位图之——位图实现12GB无重复大整数集排序
<Programming Pearls>(编程珠玑)第一章讲述了如何用位图排序无重复的数据集,整个思想很简洁,今天实践了下. 一.主要思想 位图排序的思想就是在内存中申请一块连续的空间作为 ...
随机推荐
- JavaWeb学习篇之----Jsp详解
今天我们来看一下Jsp的相关知识,首先来看看一下Jsp的相关定义: 简介: JSP全称是JavaServer Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术 ...
- NX二次开发-隐藏对象UF_OBJ_set_blank_status
NX9+VS2012 #include <uf.h> #include <uf_curve.h> #include <uf_obj.h> UF_initialize ...
- [JZOJ 5860] 荒诞
思路: 头皮发麻的操作... 理解一下题意会发现:排名为\(i\)的前缀正好是第\(i\)个前缀. 所以问题就变成了求\(1->len\)的平方和,注意取模即可. #include <bi ...
- hdu多校第一场 1006 (hdu6583)Typewriter dp/后缀自动机
题意: 有个打字机,在当前字符串后新加一个字花费p,把当前字符串的一个连续子串拷贝到当前字符串的末尾花费q,给定一个字符串,求用打字机打出这个字符串的最小花费. 题解: 容易想到用dp 记dp[i]为 ...
- HDU3605: Escape-二进制优化建图-最大流
目录 目录 思路: (有任何问题欢迎留言或私聊 && 欢迎交流讨论哦 目录 题意:传送门 原题目描述在最下面. \(n(n\leq 100000)\)个人\(m(m\leq 10) ...
- DLL劫持技术例子: HijackDll
控制台程序:DllLoader Dll加载器,用于动态加载目标Dll,并动态调用目标函数 #include <cstdio> #include <windows.h> type ...
- CodeForces 1152E Neko and Flashback
题目链接:http://codeforces.com/problemset/problem/1152/E 题目大意 有一个 1~n-1 的排列p 和长度为 n 的数组 a,数组b,c定义如下: b:b ...
- Django开发学习BUG记录--RemovedInDjango19Warning:Model class apps.user.models.User doesn't declare an explicit app_label
报错信息: /home/python/PycharmProjects/dailyfresh/apps/user/models.py:8: RemovedInDjango19Warning: Model ...
- RDLC报表问题:尚未指定报表“Report1”的报表定义
原文:尚未指定报表“Report1”的报表定义 在做RDLC项目中遇到这样的错误 本地报表处理期间出错. 尚未指定报表“Report1”的报表定义 未将对象引用设置到对象的实例. 解决方案: 打开re ...
- docker删除常见命令
$ docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }') //停止容器 1b7067e19d6f a840 ...