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>(编程珠玑)第一章讲述了如何用位图排序无重复的数据集,整个思想很简洁,今天实践了下. 一.主要思想 位图排序的思想就是在内存中申请一块连续的空间作为 ...
随机推荐
- 树上莫比乌斯反演+分层图并查集——cf990G
/* 树上莫比乌斯反演 求树上 满足 d|gcd(au,av) gcd(au,av)的对数f(d) 如何求: 建立200000层新图,即对于每个数建立一个新图 在加边时,给gcd(au,av)的约数层 ...
- 9.RabbitMQ Topic类型交换机
RabbitMQ消息服务中Topic类型交换机根据通配符路由消息,*代表一个单词,#代表代表0或多个单词. 生产者 消费者 代码 Producer.java package com.tes ...
- 把swf反编译成fla的几种方法
2007年著 第一种方法: 利用IMPERATOR FLA1.63 ,这个软件有演示版 和正式版 , 演示版不能反编译Action Scropt,在利用正式版反编译的过程中有时会丢失Action Sc ...
- SPSS如何调用已建立的数据文件
SPSS如何调用已建立的数据文件 调用已建立的数据文件 SPSS可以调用SPSS(*.sav),Excel(*.xls),dBASE(*.dbf),ASCII(*.dat,*.txt)等数据文件. 2 ...
- 基于三角形与位置指纹识别算法的WiFi定位比较
文章来着:https://wenku.baidu.com/view/55d1f4146edb6f1aff001fec.html
- pandas 使用dataframe 索引项相同时出现bug
使用的是join函数来合并两个dataframe: df=df2.join(df1) bug:columns overlap but no suffix specified: Index([u'muk ...
- RHEL7更换yum源
1,删除注册和订阅提示 查找subscription-manager相关组件: rpm -qa | grep subscription-manager 删除subscription-maanager相 ...
- js 关闭页面(Scripts may close only the windows that were opened by it.)
传送http://blog.csdn.net/kuangfengbuyi/article/details/52052301 js关闭当前页面,当该页面不是其他页面打开的,而是直接输入url, 直接用w ...
- Neo4j和Elasticsearch
Neo4j和Elasticsearch Neo4j和Elasticsearch是一种让人眼前一亮的组合,为什么需要把搜索和图表结合起来呢?它们是如何使用的呢? 在无处不在的互联网搜索引擎的推动下,全文 ...
- Oracle Net Configuration Assistant failed异常的解决方案
来自:http://blog.itpub.net/25851087/viewspace-1419440/ 分类: Oracle [环境参数] Host OS::Win7 32bit C ...