华为机试题 HJ9提取不重复的整数

Posted yangbocsu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为机试题 HJ9提取不重复的整数相关的知识,希望对你有一定的参考价值。

HJ9 提取不重复的整数

题目描述

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

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.TreeSet;

今后手动导这么多包麻烦,牺牲内存的,之前全导入就好了;

import java.io.*;
import java.util.*;

参考代码1

主要是利用集合的元素唯一性,但集合输出的元素又是不确定性的,不能按我们放入的顺序输出,所以需要再结合StringBuilder;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.TreeSet;

// import java.io.*;
// import java.util.*;

public class Main
    public static void main(String[] args) throws IOException 
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str;
        while((str=br.readLine()) != null)
            StringBuilder sb = new StringBuilder();
            TreeSet<Character> set = new TreeSet();
            for(int i = str.length() - 1; i >= 0; i--)
                char ch = str.charAt(i);
                if (!set.contains(ch))
                    sb.append(ch);
                    set.add(ch);
                
            
            System.out.println(sb);
        
    

参考代码2

import java.util.*;
import java.io.*;

public class Main 
    public static void main (String [] args) throws IOException 
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        
        int [] cnt = new int [10];  // 10个数,默认为0
        int num = Integer.parseInt(str);
        
        StringBuilder sb = new StringBuilder();
        while (num > 0) 
            int digital = num % 10;
            if (cnt[digital] == 0)   // 如果首次出现
                sb.append(digital);
                cnt[digital]++;
            
            num /= 10;
        
        
        System.out.println(sb.toString());       
        
    

以上是关于华为机试题 HJ9提取不重复的整数的主要内容,如果未能解决你的问题,请参考以下文章

华为机试题 提取不重复的整数

HJ9 提取不重复的整数

华为机试:提取不重复的整数

华为机试 提取不重复的整数

华为机试练习提取不重复的整数

2018华为笔试题