LeetCode 260 -Single Number III ( JAVA )

来源:互联网 发布:ubuntu 查看硬盘 编辑:程序博客网 时间:2024/06/06 07:08

Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.

For example:

Given nums = [1, 2, 1, 3, 2, 5], return [3, 5].

Note:

  1. The order of the result is not important. So in the above example, [5, 3] is also correct.
  2. Your algorithm should run in linear runtime complexity. Could you implement it using only constant space complexity?

import java.util.*;public class Solution {    public int[] singleNumber(int[] nums) {        Arrays.sort(nums);        int array[] = new int[2];        int count=0;        for(int i=0;i<nums.length-1;i+=2){            if(nums[i]!=nums[i+1]){                array[count++]=nums[i];                i-=1;            }        }        if(count==1){            array[1]=nums[nums.length-1];        }        return array;    }}



总结:首先想把数组进行排序,每2个进行比较,选出不一样的。

0 0
原创粉丝点击