zoukankan      html  css  js  c++  java
  • 数组中只出现一次的数字

    题目描述

    一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
     1 import java.util.HashSet;
     2 import java.util.Set;
     3 
     4 /**
     5  * 
     6  * @author gentleKay
     7  * 题目描述
     8  * 一个整型数组里除了两个数字之外,其他的数字都出现了两次。
     9  * 请写程序找出这两个只出现一次的数字。
    10  */
    11 
    12 //num1,num2分别为长度为1的数组。传出参数
    13 //将num1[0],num2[0]设置为返回结果
    14 
    15 public class Main39 {
    16 
    17     public static void main(String[] args) {
    18         // TODO Auto-generated method stub
    19         int[] num1 = new int[1];
    20         int[] num2 = new int[1];
    21         int[] array = {2,4,3,6,3,2,5,5};
    22         Main39.FindNumsAppearOnce(array, num1, num2);
    23     }
    24     
    25     public static void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) {
    26         if (array.length < 2) {
    27             return;
    28         }
    29         
    30         Set<Integer> set = new HashSet<>();
    31         for (int i=0;i<array.length;i++) {
    32             if (!set.contains(array[i])) {
    33                 set.add(array[i]);
    34             }else {
    35                 set.remove(array[i]);
    36             }
    37         }
    38         
    39         Object[] num = set.toArray();
    40         num1[0] = (int) num[0];
    41         num2[0] = (int) num[1];
    42         System.out.println(num1[0]);
    43         System.out.println(num2[0]);
    44     }
    45 
    46     
    47     /*
    48      * [2,4,3,6,3,2,5,5]
    49      * 对应输出应该为:
    50      * "4,6"
    51      */
    52 }
  • 相关阅读:
    3.List.Set
    2.Collection.泛型
    1.Object类.常用API
    MySQL-核心技术
    奇异的家族-动态规划
    动态规划-等和的分隔子集
    跳跃游戏-贪心
    跳跃游戏2
    爬楼梯
    组合博弈1536-S-Nim
  • 原文地址:https://www.cnblogs.com/strive-19970713/p/11172725.html
Copyright © 2011-2022 走看看