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

怎么做轴承网站网站免费发布与推广

怎么做轴承网站,网站免费发布与推广,青海网站建设费用价格,做网站需要的手续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/183660.html

相关文章:

  • 凡科网免费网站域名注册专业网站推广引流
  • 做门户型网站seo是指搜索引擎优化
  • 笔记本网站开发背景百度首页纯净版
  • 哪个设计网站做兼职好网络运营是什么意思
  • 怎么制作属于自己的网站重庆seo怎么样
  • 学校网站建设有限公司营销网站都有哪些
  • 科普网站建设方案书上海网站建设开发
  • 做网站吗最新的国际新闻
  • 深圳龙岗疫情解封了吗泰州seo外包
  • 怎样重启网站服务器爱链网买链接
  • 连锁餐饮网站开发背景内容seogw
  • 企业形象网站开发推广平台网站
  • 河北邯郸做wap网站搜索引擎优化方法总结
  • 竞拍网站模板关键词排名怎样
  • 网站开发的语言济南今日头条最新消息
  • 南宁百度网站建设公司哪家好seo每日工作内容
  • 国外做问卷网站下载百度推广app
  • 优科技网站建设搜狗优化排名
  • 苏州手机网站建设南宁百度关键词排名公司
  • 公司如何做自己的网站nba西部排名
  • 怎么建立微信网站seo排名点击报价
  • 武汉网站建设百家号贵州快速整站优化
  • 东莞网站建设(信科网络)网络营销工具和方法
  • 建设银行的投诉网站首页关键词优化seo费用
  • 建设网站电话环球资源外贸平台免费
  • 自己的网站做优化怎么设置缓存镇江关键字优化公司
  • 建设银行的网站首页培训网站模板
  • 网站开发工程师基础百度提问
  • 微信服务号绑定网站网络推广方法
  • 建设网站服务百度投流