输入一个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笔试之提取不重复的整数的更多相关文章

  1. php实现 提取不重复的整数(编程题目能够最快的熟悉函数)

    php实现 提取不重复的整数(编程题目能够最快的熟悉函数) 一.总结 一句话总结:编程题目能够最快的熟悉函数. 1.字符串反转函数? 没有str_revserse,有arr_reverse,这里是st ...

  2. python常见面试题讲解(八)提取不重复的整数

    题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 示例1 ...

  3. bitmap对海量无重复的整数排序--转

    原文地址:http://blog.csdn.net/u013074465/article/details/46956295 现在有n个无重复的正整数(n 小于10的7次方),如果内存限制在1.5M以内 ...

  4. Java笔试面试题整理第八波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51388516 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

  5. Java笔试面试题整理第三波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51247785 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

  6. Java笔试面试题整理第二波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51200163 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

  7. Java笔试面试题整理第一波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51151650 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

  8. 应聘Java笔试时可能出现问题及其答案

    有感:应聘Java笔试时可能出现问题及其答案 huij 前段时间因为要参加一个笔试,在准备期间在网上找到了两条关于笔试题目的文章,其中一篇为<<有感:应聘Java笔试时可能出现问题> ...

  9. 疯狂位图之——位图实现12GB无重复大整数集排序

    <Programming Pearls>(编程珠玑)第一章讲述了如何用位图排序无重复的数据集,整个思想很简洁,今天实践了下. 一.主要思想 位图排序的思想就是在内存中申请一块连续的空间作为 ...

随机推荐

  1. 使用electron-vue搭建桌面应用程序项目

    vue-cli+electron一种新的脚手架(vue-electron)vue-electron主要业务逻辑都放在src下的renderer文件夹内,和之前的vue-cli搭建项目流程没有任何区别 ...

  2. Vue实现一个学生信息录入系统,实现录入和删除

    效果如下: 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  3. NOIp2018集训test-9-17(am)

    这是一套去年在长沙考过的题,但是我当时就没理清楚+没写题解(我以前很多博客都写得跟shi一样,完全没有意义,看到就想打当时的我),所以又考得稀烂. T1.star way to heaven 容易想到 ...

  4. NX二次开发-UFUN添加工程图投影视图UF_DRAW_add_orthographic_view

    NX9+VS2012 #include <uf.h> #include <uf_draw.h> #include <uf_obj.h> #include <u ...

  5. CodeForces 1152D Neko and Aki's Prank

    说明 Catalan(i) 表示卡特兰数的第 i 项. 题目链接:http://codeforces.com/problemset/problem/1152/C 题目大意 有 n 个左括号和 n 个右 ...

  6. Python3 From Zero——{最初的意识:000~Initial consciousness}

    http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 a.编码 默认情况下,Python ...

  7. ECMAScript1.3 数组 | 函数 | 作用域 | 预解析

    数组array 数组可以存储很多项,有顺序,很多项形成一个集合,就是数组. 数组字面量是:[] 如何获取数组中的数据:索引/下标,数组中的第一项的索引是从0开始的. ['kay', 'andy', 1 ...

  8. spring boot资源文件配置读取

    一般业务配置,尽量新建自己的配置文件,来读取,而不是配置在application.properties或application-*.properties或yml/yaml配置中. applicatio ...

  9. 在线文库解决方案Jacob+SwfTools+FlexPaper

    课程作业,准备做一个类似于豆丁之类的在线文库,解决方案也就是将文档(doc ppt xls)等转换成pdf,然后转成swf展示在页面中,今天下午经过研究,参考其他人的博客,实现了这个主要功能,这里也做 ...

  10. cookie与token对比(转)

    1.cookie(储存在用户本地终端上的数据( 为了辨别用户身份.进行 session 跟踪)) HTTP协议本身是无状态的,所以需要一个标志来对用户身份进行验证 用户登录成功后,会在服务器存一个se ...