【算法】位运算算法——丢失的数字

简介: 【算法】位运算算法——丢失的数字

题解:丢失的数字(位运算算法)

1.题目

题目链接:LINK

2.题解

  • 哈希数组查漏
  • 高斯求和
  • 排序
  • 位运算异或

3.位运算异或

class Solution
{
public:
 int missingNumber(vector<int>& nums) 
 {
 int ret = 0;
 for(auto x : nums) ret ^= x;
 for(int i = 0; i <= nums.size(); i++) ret ^= i;
 return ret;
 }
};

当然也可以这样写:

class Solution {
public:
    int missingNumber(vector<int>& nums) {
        int ret = 0;
        //异或上nuns的各位数字
        for(int i = 0; i < nums.size(); i++)
        ret^=i,ret^=nums[i];
        //注:还有个n没异或
        ret^=nums.size();
        return ret;
    }
};

4.总结


EOF

相关文章
|
7月前
|
算法
算法思想总结:位运算
算法思想总结:位运算
|
7月前
|
机器学习/深度学习 存储 算法
【算法基础】常数操作 时间复杂度 选择排序 冒泡排序 插入排序 位运算
【算法基础】常数操作 时间复杂度 选择排序 冒泡排序 插入排序 位运算
|
算法
基础算法:位运算
基础算法:位运算
57 0
|
22天前
|
算法 数据处理 C语言
C语言中的位运算技巧,涵盖基本概念、应用场景、实用技巧及示例代码,并讨论了位运算的性能优势及其与其他数据结构和算法的结合
本文深入解析了C语言中的位运算技巧,涵盖基本概念、应用场景、实用技巧及示例代码,并讨论了位运算的性能优势及其与其他数据结构和算法的结合,旨在帮助读者掌握这一高效的数据处理方法。
34 1
|
4月前
|
算法
【算法】位运算算法——消失的两个数字(困难)
【算法】位运算算法——消失的两个数字(困难)
|
4月前
|
算法
【算法】位运算算法——只出现一次的数字Ⅱ
【算法】位运算算法——只出现一次的数字Ⅱ
|
4月前
|
算法
【算法】位运算算法——判断字符是否唯一
【算法】位运算算法——判断字符是否唯一
|
4月前
|
算法
【算法】位运算算法——两整数之和
【算法】位运算算法——两整数之和
|
4月前
|
算法
算法】位运算——常见位运算基础操作总结
算法】位运算——常见位运算基础操作总结
算法】位运算——常见位运算基础操作总结
|
6月前
|
存储 自然语言处理 算法
位运算入门及简单算法题的应用
位运算入门及简单算法题的应用
52 1
下一篇
DataWorks