每日算法之数组中只出现一次的两个数字(每日算法之数组中只出现一次的两个数字怎么算)

  本篇文章为你整理了每日算法之数组中只出现一次的两个数字(每日算法之数组中只出现一次的两个数字怎么算)的详细内容,包含有每日算法之数组中只出现一次的两个数字相加 每日算法之数组中只出现一次的两个数字怎么算 数组中只出现1次的两个数字 数组只出现一次的元素 每日算法之数组中只出现一次的两个数字,希望能帮助你了解 每日算法之数组中只出现一次的两个数字。

  一个整型数组里除了两个数字只出现一次,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字

  算法实现

  既然有两个数字只出现了一次,我们就统计每个数字的出现次数,利用哈希表的快速根据key值访问其频率值。

  具体做法:

  step 1:遍历数组,用哈希表统计每个数字出现的频率。
 

  step 2:然后再遍历一次数组,对比哈希表,找到出现频率为1的两个数字。
 

  step 3:最后整理次序输出。

  

package mid.JZ56数组中只出现一次的两个数字;

 

  import java.util.*;

  
if(array.length == 0) return new int[0];

   HashMap Integer, Integer map = new HashMap ();

   int[] result = new int[2];

   for (int value : array) {

   if (!map.containsKey(value)) {

   map.put(value, 1);

   } else {

   map.put(value, map.get(value) + 1);

   int index = 0;

   for (Integer key: map.keySet()) {

   if (map.get(key) == 1) {

   result[index] = key;

   index++;

   if (index == 2) break;

   Arrays.sort(result);

   return result;

   public static void main(String[] args) {

   int[] ints = new Solution().FindNumsAppearOnce(new int[]{1, 4, 1, 6});

   System.out.println(Arrays.toString(ints));

  

 

  以上就是每日算法之数组中只出现一次的两个数字(每日算法之数组中只出现一次的两个数字怎么算)的详细内容,想要了解更多 每日算法之数组中只出现一次的两个数字的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: