当前位置: 首页 > article >正文

闯关leetcode——136. Single Number

大纲

  • 题目
    • 地址
    • 内容
  • 解题
    • 代码地址

题目

地址

内容

Given a non-empty array of integers nums, every element appears twice except for one. Find that single one.

You must implement a solution with a linear runtime complexity and use only constant extra space.

Example 1:

Input: nums = [2,2,1]
Output: 1

Example 2:

Input: nums = [4,1,2,1,2]
Output: 4

Example 3:

Input: nums = [1]
Output: 1

Constraints:

  • 1 <= nums.length <= 3 * 104
  • -3 * 104 <= nums[i] <= 3 * 104
  • Each element in the array appears twice except for one element which appears only once.

解题

这题主要考察“异或”操作。
异或操作具有以下几个性质:

  • 自反性:x ^ y ^ y = x
  • 结合性:(x ^ y) ^ z = x ^ (y ^ z)
  • 与数字0异或无变化:x ^ 0 = x

因为x ^ x =0,这样偶数个x就会得到结果0;而x ^ 0 = x,这样会让单个的x得以保留。所以这题的思路就是对所有数字进行异或操作。

#include <vector>
using namespace std;

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int result = 0;
        for (int num : nums) {
            result ^= num;
        }
        return result;
    }
};

在这里插入图片描述

代码地址

https://github.com/f304646673/leetcode/tree/main/136-Single-Number/


http://www.kler.cn/news/357757.html

相关文章:

  • 软件开发的项目管理的风险有哪些?
  • 深度学习的全面解析
  • 数学考研高分突破:解题思维与速度的双重修炼
  • 38岁老Mac“复工”,被改造上网!
  • Qt第十三天:网络编程:TCP和UDP的使用
  • 高效图书管理:基于Spring Boot的进销存系统
  • 洛谷 AT_abc373_d [ABC373D] Hidden Weights 题解
  • 019_基于python+django食品销售数据分析系统2024_4032ydxt
  • cpp详解:string
  • 基于单片机的 16 键多功能电子琴硬件设计
  • 人工智能公司未达到欧盟人工智能法案标准
  • Sentinel 快速入门
  • 网络安全有关法律法规
  • SpringBoot民宿预订系统设计与实现
  • LeetCode714:买卖股票的最佳时机含手续费
  • 深度学习基础知识-02 数据预处理
  • 生成式对抗网络 (GAN) |简介
  • 1.2.3 TCP IP模型
  • uniapp中使用lottie实现JSON动画
  • 大数问题python解决合集(个人总结)