美文网首页计算客刷题笔记
排序后的数组删除重复数字

排序后的数组删除重复数字

作者: Airycode | 来源:发表于2018-04-18 14:42 被阅读10次

    给定升序排序的数组,如果数组有 2 个或 2 个以上相同的数字,去掉他们,直到剩下 2个为止。

    例如:

    数组 A[] = [1,1,1,2,2,3]A[]=[1,1,1,2,2,3]

    你的算法需要返回新数组的长度 55,

    此时 AA 为 [1,1,2,2,3][1,1,2,2,3]。

    输入格式

    第一行输入一个不超过 200200 的数字 nn,第二行输入 A[n]A[n]。

    输出格式

    输出新数组的长度。

    样例输入

    6
    1 1 1 1 3 3
    样例输出

    4
    代码实现:

    package 排序;
    
    import java.util.Arrays;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Scanner;
    
    public class Main {
    
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            int number = input.nextInt();
            int [] arr = new int[number];
            for (int i=0;i<arr.length;i++){
                arr[i] = input.nextInt();
            }
            Arrays.sort(arr);//升序排列
            int result = handle(arr);
            System.out.println(result);
        }
    
        //去掉重复的数据
        private static int handle(int[] arr) {
            
            Map<Integer,Integer> resultMap = new HashMap<Integer,Integer>();
            for (int i=0;i<arr.length;i++) {
                int temp = arr[i];
                boolean isHave = resultMap.containsKey(temp);
                if (!isHave) {
                    resultMap.put(temp, 1);
                } else {
                    //取出来value
                    int value = resultMap.get(temp);
                    value+=1;
                    resultMap.put(temp, value);
                }
            }
            
            //循环resultMap
            int sum = 0;
            for (Map.Entry<Integer, Integer> entry:resultMap.entrySet()) {
                int value=entry.getValue();
                if (value>2) {
                    value=2;
                }
                sum+=value;
                
            }
            return sum;
            
            
        }
        
    }
    
    

    相关文章

      网友评论

        本文标题:排序后的数组删除重复数字

        本文链接:https://www.haomeiwen.com/subject/jvbvkftx.html