首页 > 考试 > 其他 > 正文
【LeetCode】 260. Single Number III
2017-01-07       个评论    来源: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技术学习网站