【剑斩OFFER】算法的暴力美学——丢失的数字

一、题目描述

二、算法原理

我们可以使用异或的思想来解决这道题:a ^ a =0

剩下的那个就是正确答案。

三、代码实现

cpp 复制代码
class Solution {
public:
    int missingNumber(vector<int>& nums) {
        int j = 0;
        for(auto e : nums) j ^= e;
        for(int i = 0; i <= nums.size();i++) j ^= i;
        return j;
    }
    
};
cpp 复制代码
class Solution {
public:
    int missingNumber(vector<int>& nums) {
        int sum1 = 0,sum2 = 0;
        for(int i = 0; i < nums.size();i++)
        {
            sum1 += nums[i];
            sum2 += i;
        }
        sum2 += nums.size();
        return sum2 - sum1;
    }
};
相关推荐
努力的白熊嗨19 分钟前
大文件 Hash 计算:Web Worker 并行优化的原理与局限性
javascript·算法
CoovallyAIHub37 分钟前
存储风暴下的边缘智能韧性:瑞芯微RK3588如何将供应链挑战转化为市场机遇
深度学习·算法·计算机视觉
杜子不疼.42 分钟前
【C++】解决哈希冲突的核心方法:开放定址法 & 链地址法
c++·算法·哈希算法
落羽的落羽1 小时前
【Linux系统】解明进程优先级与切换调度O(1)算法
linux·服务器·c++·人工智能·学习·算法·机器学习
Ka1Yan1 小时前
[数组] - LeetCode 704. 二分查找
java·开发语言·算法·leetcode·职场和发展
xiaoye-duck1 小时前
归并排序:递归与非递归全解析
数据结构·排序算法
2501_941881401 小时前
区块链技术:颠覆金融与未来社会的力量
leetcode
@卞2 小时前
高阶数据结构 --- 单调队列
数据结构·c++·算法