美文网首页
Single Number

Single Number

作者: casuality4windy | 来源:发表于2017-09-19 20:16 被阅读0次
Problem

Given an array of integers, every element appears twice except for one. Find that single one.

Solution

 可用嵌套循环暴力求解,时间复杂度为O(n2)。
 用异或运算巧解,时间复杂度为O(n)。

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int result = 0;
        for (int i = 0; i < nums.size(); i++){
            result ^= nums[i];
        }
        return result;
    }
};

 原理:输入数组 [4, 2, 4, 1, 2, 3, 3]
 运算等同于 (2 ^ 2) ^ (3 ^ 3) ^ (4 ^ 4) ^ 1 = 0 ^ 0 ^ 0 ^ 1 = 1

相关文章

  • 一篇文章搞懂面试中leetcode位操作算法题

    Single Number落单的数 落单的数 IISingle Number II Single Number I...

  • single number

    题目描述 给定一个整数数组,除了一个元素外,每个元素都会出现两次。找到那一个出现一次的元素。注意:时间复杂度O(n...

  • Single number

    用异或

  • Single Number

    题目要求找出在算法的时间复杂度为线性时间,且不占据额外的内存 下面讲解算法:该算法主要用到了位运算中的异或运算^,...

  • Single Number

    Single Number 今天是一道有关位运算的题目,来自LeetCode(#136),难度为Medium,Ac...

  • Single Number

    Problem Given an array of integers, every element appears...

  • Single Number

    Given an array of integers, every element appearstwiceexc...

  • Single Number

    Given an array of integers, every element appearstwiceexc...

  • Single Number

    按位亦或可求解,复杂度为O(n)

  • Single Number

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/single...

网友评论

      本文标题:Single Number

      本文链接:https://www.haomeiwen.com/subject/epygsxtx.html