剑指offer:数组中只出现一次的两个数字(java版)
程序员文章站
2022-07-15 12:16:23
...
描述
一个整型数组里除了两个数字只出现一次,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
示例1
输入:
[1,4,1,6]
返回值:
[4,6]
说明:
返回的结果中较小的数排在前面
题目分析:
写前面的几道题写的有点废
需要一到安慰心灵的数组题
说实话,递归题练了一到又一道,心里还是虚
自己最拿手的还是数组题,哈哈~
思路
1、首先将数组从小到大排序
2、存每个数字出现的次数到一个数组中
3、将次数出现等于1的数字存入长度为2的数组中,返回即可~
代码
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param array int整型一维数组
* @return int整型一维数组
*/
public int[] FindNumsAppearOnce (int[] array) {
// write code here
Arrays.sort(array);
int[] a = new int[2];
int[] sum= new int[array.length];
for(int i = 0; i<array.length;i++){
sum[i]=0;
for(int j=0; j<array.length;j++){
if(array[i]==array[j]){
sum[i]++;
}
}
}
for(int i=0,x=0;i<array.length;i++){
if(sum[i]==1){
a[x]=array[i];
x++;
}
}
return a;
}
}
数组真的越用越喜欢~
推荐阅读
-
剑指offer 56 数组中数字出现的次数 lintcode 82. 落单的数、83. 落单的数 II、84. 落单的数 III
-
【剑指offer】面试题56(1):数组中只出现一次的两个数字
-
剑指offer:数组中只出现一次的两个数字(java版)
-
剑指offer 面试题56 python版+解析:数组中只出现一次的两个数字,数组中唯一只出现一次的数字
-
剑指offer第二版-56.数组中只出现一次的两个数字
-
【算法分享】剑指offer56-数组中只出现一次的两个数字
-
剑指 Offer 56 - I. 数组中只出现一次的两个数字
-
剑指56:数组中只出现一次的数字——异或——位运算
-
《剑指Offer》Java刷题 NO.40 数组中只出现一次的数字(数组、HashMap、位运算、异或)
-
【剑指】56(1).数组中只出现一次的两个数字