频道栏目
首页 > 考试 > 其他 > 正文

【LeetCode】 260. Single Number III

2017-01-07 09:25:00      个评论    来源:LSF_Kevin的博客  
收藏   我要投稿

Given an array of numbersnums, 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:

Givennums = [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?

 

public class Solution {
    public int[] singleNumber(int[] nums) {
        int sum = 0;
        for (int i : nums) {
            sum ^= i;
        }
        sum &= -sum;
        int[] res = new int[2];
        for (int i : nums) {
            if ((i & sum) == 0) {
                res[0] ^= i;
            } else {
                res[1] ^= i;
            }
        }
        return res;
    }
}

 

相关TAG标签 LeetCode 编程题
上一篇:(HDU5924)Mr.Frog’sProblem思维水题<2016CCPC东北地区大学生程序设计竞赛-重现赛)
下一篇:LeetCode 249. Group Shifted Strings
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站