博客
关于我
华为机试:9. 提取不重复的整数
阅读量:382 次
发布时间:2019-03-05

本文共 1497 字,大约阅读时间需要 4 分钟。

1. 题目

2. 描述

题目描述

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

输入描述:

输入一个int型整数

输出描述:

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

示例1

输入

9876673

输出

37689

3. 实现方法

3.1 方法 1

3.1.1 思路

  1. 将数字转换为字符串;
  2. 然后初始化一个列表,从右向左遍历字符串,然后将 list 中不存在的元素加入,存在的元素则跳过;
  3. 将列表转换为字符串;
  4. 将字符串转换为整形并最终返回;

3.1.2 实现

import java.util.*;/** * @author : cunyu * @version : 1.0 * @className : Nine * @date : 2020/8/10 23:14 * @description : 9. 提取不重复的整数 */public class Main {       public static void main(String[] args) {           Scanner input = new Scanner(System.in);        while (input.hasNext()) {               int num = input.nextInt();            System.out.println(newNumber(num));        }    }    /**    * @description 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。    * @param number 输入的整形数    * @return     * @date 2020/8/10 23:37    * @author cunyu1943    * @version 1.0    */    public static int newNumber(int number) {           // 将数字转换为字符串        String str = String.valueOf(number);        List
list = new ArrayList<>(); // 从右向左遍历字符串,如果 list 已经存在该元素,则跳过,如果 list 中不含该元素,则加入 list for (int i = str.length() - 1; i >= 0; i--) { // 含有该元素,跳过 if (list.contains(str.charAt(i))) { continue; } else { // 不含该元素,加入 list.add(str.charAt(i)); } } // 将列表转换为字符串,然后将字符串转换为 int 返回即可 String ans = ""; for (Character cha : list ) { ans = ans + cha; } return Integer.parseInt(ans); }}

转载地址:http://gsjwz.baihongyu.com/

你可能感兴趣的文章
mysql字段类型介绍
查看>>
mysql字段解析逗号分割_MySQL逗号分割字段的行列转换技巧
查看>>
MySQL字符集与排序规则
查看>>
MySQL字符集乱码
查看>>
mysql字符集设置
查看>>
mysql存储IP地址的数据类型
查看>>
mysql存储中文 但是读取乱码_mysql存储中文乱码
查看>>
MySQL存储引擎
查看>>
MySQL存储引擎
查看>>
MySQL存储引擎--MYSIAM和INNODB引擎区别
查看>>
Mysql存储引擎(1):存储引擎体系结构和介绍
查看>>
Mysql存储引擎(2):存储引擎特点
查看>>
MySQL存储引擎--MyISAM与InnoDB区别
查看>>
mysql存储总结
查看>>
mysql存储登录_php调用mysql存储过程会员登录验证实例分析
查看>>
MySql存储过程中limit传参
查看>>
MySQL存储过程入门
查看>>
mysql存储过程批量建表
查看>>
MySQL存储过程的使用实现数据快速插入
查看>>
mysql存储过程详解
查看>>