题解 | #数组中只出现一次的两个数字#

数组中只出现一次的两个数字

http://www.nowcoder.com/practice/389fc1c3d3be4479a154f63f495abff8

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 排序
     * @param array int整型一维数组 
     * @return int整型一维数组
     */
    public int[] FindNumsAppearOnce (int[] array) {
        // write code here
        int[] arr = new int[2];
        int index = 0;
        //排序,比较
        Arrays.sort(array);//排序
        //第一个和第二个相比较,如果不相等,则arr[0]只出现一次
        if(array[0] != array[1]){
            arr[index] = array[0];
            index++;
        }
        
        int length = array.length;   
        //倒数第一个和倒数第二个相比较,如果不相等,则arr[length-1]只出现一次
        if(array[length-2] != array[length-1]){
            arr[index] = array[length-1];
            index++;
        }
        //遍历,从第二个到倒数第二个开始遍历,如果与相邻的前后两个比较都不相等,则该数只出现一次
        for(int i = 1;i<length-1;i++){
            if(array[i] != array[i-1] && array[i] != array[i+1]){
                arr[index] = array[i];
                index++;
            }
        }
        Arrays.sort(arr);
        return arr;
    }
}

全部评论

相关推荐

notbeentak...:孩子,说实话,选择很重要,可能你换一个方向会好很多,但是现在时间不太够了,除非准备春招
点赞 评论 收藏
分享
10-10 00:14
门头沟学院 Java
程序员小白条:20年架构师,无工资
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务