【剑斩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;
    }
};
相关推荐
Omigeq12 分钟前
1.4 - 曲线生成轨迹优化算法(以BSpline和ReedsShepp为例) - Python运动规划库教程(Python Motion Planning)
开发语言·人工智能·python·算法·机器人
网络工程小王34 分钟前
【大模型(LLM)的业务开发】学习笔记
人工智能·算法·机器学习
y = xⁿ35 分钟前
【Leet Code 】滑动窗口
java·算法·leetcode
WBluuue38 分钟前
数据结构与算法:二项式定理和二项式反演
c++·算法
nianniannnn39 分钟前
力扣104.二叉树的最大深度 110. 平衡二叉树
算法·leetcode·深度优先
_深海凉_1 小时前
LeetCode热题100-只出现一次的数字
算法·leetcode·职场和发展
nianniannnn1 小时前
力扣206.反转链表 92.反转链表II
算法·leetcode·链表
澈2071 小时前
哈希表实战:从原理到手写实现
算法·哈希算法
旖-旎1 小时前
哈希表(存在重复元素||)(4)
数据结构·c++·算法·leetcode·哈希算法·散列表
Run_Teenage1 小时前
Linux:认识信号,理解信号的产生和处理
linux·运维·算法