题解 | #数组中只出现一次的数(其它数出现k次)#

数组中只出现一次的数(其它数出现k次)

http://www.nowcoder.com/practice/5d3d74c3bf7f4e368e03096bb8857871

import java.util.*;


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

相关推荐

点赞 评论 收藏
分享
10-17 09:06
门头沟学院 Java
LZStarV:(这居然能又刷到你)感觉真的就是岗位少了吧,项目很多27届这个点都差不多这个水准,只能说有点不赶趟了先慢慢投吧兄弟,啥都投一下总有机会的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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