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

一个网站的建设方案北京百度科技有限公司电话

一个网站的建设方案,北京百度科技有限公司电话,公司网站.可以自己做吗,wordpress不适合大型网站1. 题目链接 LeetCode 268. 丢失的数字 2. 题目描述 给定一个包含 [0, n] 范围内 n 个不同整数的数组 nums(实际长度为 n),找出数组中缺失的那个数字。 示例: 输入:nums [3,0,1] → 输出:2(…
1. 题目链接

LeetCode 268. 丢失的数字


2. 题目描述

给定一个包含 [0, n] 范围内 n 个不同整数的数组 nums(实际长度为 n),找出数组中缺失的那个数字。
示例

  • 输入:nums = [3,0,1] → 输出:2(缺失数字为 2
  • 输入:nums = [0,1] → 输出:2(缺失数字为 2

3. 示例分析
  1. 缺失中间值
    • nums = [0,1,3,4] → 缺失 2
  2. 缺失最大值
    • nums = [0,1,2] → 缺失 3(数组长度 n=3,范围为 [0,3])。
  3. 空数组
    • nums = [] → 缺失 0(题目保证 n ≥ 1,实际无需处理)。

4. 算法思路

核心思想异或运算的归零律与恒等律

  1. 异或性质
    • 归零律:a ^ a = 0
    • 恒等律:a ^ 0 = a
    • 交换律:a ^ b = b ^ a
  2. 问题转化
    • 假设完整数组为 [0,1,2,...,n],实际数组 nums 缺少其中一个数。
    • 对完整数组和实际数组进行异或运算,重复的数会被抵消,最终结果为缺失值。

实现步骤

  1. 遍历实际数组:将所有元素异或到结果 ret
  2. 遍历完整数组:将 [0,1,...,n] 中的每个数异或到 ret
  3. 最终结果ret 即为缺失的数字。

5. 边界条件与注意事项
  1. 输入数组有效性
    • 题目保证数组元素唯一且范围正确,无需额外处理重复或越界值。
  2. 缺失最大值的处理
    • 若缺失 n,第二个循环中 i 的范围为 0~n,仍能正确异或得到结果。
  3. 异或运算顺序无关性
    • 异或满足交换律,遍历顺序不影响最终结果。

6. 代码实现
class Solution 
{
public:int missingNumber(vector<int>& nums) {int ret = 0;// 第一轮异或:处理实际数组for (int num : nums) ret ^= num;// 第二轮异或:处理完整数组 [0, 1, ..., n]for (int i = 0; i <= nums.size(); i++) ret ^= i;return ret;}
};

在这里插入图片描述


算法分步解析

  1. 初始化结果变量

    int ret = 0;
    
    • ret 初始为 0,因为 0 ^ a = a
  2. 第一轮异或遍历实际数组

    for (int num : nums) ret ^= num;
    
    • 假设实际数组为 [3,0,1],则 ret 结果为 3 ^ 0 ^ 1 = 2
  3. 第二轮异或遍历完整数组

    for (int i = 0; i <= nums.size(); i++) ret ^= i;
    
    • 完整数组为 [0,1,2,3],此时 ret 计算为 2 ^ 0 ^ 1 ^ 2 ^ 3 = 3
  4. 返回结果

    return ret;
    
    • 最终结果为 3,即缺失的数字。

与暴力枚举法的对比

方法时间复杂度空间复杂度核心思想
异或法O(n)O(1)利用异或抵消重复元素
哈希表法O(n)O(n)存储已出现元素,查找缺失值
数学求和法O(n)O(1)计算理论总和与实际和的差值
暴力枚举法O(n²)O(1)遍历检查每个数是否在数组中

异或法的优势
  1. 无额外空间:仅需常数空间,适合内存敏感场景。
  2. 避免溢出风险:相较于求和法,异或法无需处理大数溢出问题。
  3. 高效性:两次线性遍历即可解决问题。

总结

异或法通过巧妙的位运算,将时间复杂度控制在 O(n),同时避免使用额外空间,是解决“缺失数字”类问题的最优方案。其核心在于利用异或运算的数学性质,将重复元素抵消,最终定位缺失值。实际应用中,该方法还可扩展至其他需要“去重”或“找不同”的场景,例如只出现一次的数字等问题。

关键点

  • 异或运算的归零律和恒等律是算法的基础。
  • 两次遍历分别处理实际数组和完整数组,确保所有元素成对抵消。
http://www.dtcms.com/wzjs/91841.html

相关文章:

  • 常州营销网站建设网络营销推广方式有哪些
  • 分栏式的网站有哪些武汉seo公司哪家专业
  • 新一站保险网百度平台我的订单查询在哪里
  • 广州出名的网站石家庄整站优化技术
  • 北京建站程序网络营销就业前景和薪水
  • 公司网站建设合同网络营销和网络推广有什么区别
  • 湖南网站建设公司 要上磐石网络seo还可以做哪些推广
  • 漳州网站开发制作棋牌关键词排名优化公司成都
  • 娄底网站seo长沙seo优化报价
  • 做问卷的网站哪个好seo关键词外包
  • 推荐系统网站开发推广策略怎么写
  • 用自己的计算机做服务器建网站百度官网首页登陆
  • 网站怎么做镜像网站查询
  • 长春专业网站推广网络营销企业网站
  • 做网站后台都要自己写吗360搜索引擎的特点
  • 电子商务网站建设 教材谷歌搜索引擎入口2021
  • 做直播网站阿里云建站
  • 交易平台网站建设项目需求北京网站
  • 广州wap网站制作seo网站优化软件
  • 网站没有备案会被降权吗杭州最好的seo公司
  • 禹城做网站网络营销活动方案
  • 微网站建设哪家好网站在线推广
  • 天水做网站的公司手机百度app安装下载
  • 大连做网站仟亿科技网页设计代做
  • 休闲小零食网站开发方案厦门人才网招聘官网
  • 网站备案系统上海seo优化
  • 做网站有前途吗百度在线搜索
  • 东莞做网站公司在哪关键词怎么选择技巧
  • 保险网站建设北京企业网络推广外包
  • 手机版网站制作应用seo的中文意思