首页 > 编程语言 >10.23算法

10.23算法

时间:2023-10-23 10:24:02浏览次数:42  
标签:10.23 数字 示例 int res nums 算法 丢失

缺失数字
给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。

 

示例 1:

输入:nums = [3,0,1]
输出:2
解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。
示例 2:

输入:nums = [0,1]
输出:2
解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。2 是丢失的数字,因为它没有出现在 nums 中。
示例 3:

输入:nums = [9,6,4,2,3,5,7,0,1]
输出:8
解释:n = 9,因为有 9 个数字,所以所有的数字都在范围 [0,9] 内。8 是丢失的数字,因为它没有出现在 nums 中。
示例 4:

输入:nums = [0]
输出:1
解释:n = 1,因为有 1 个数字,所以所有的数字都在范围 [0,1] 内。1 是丢失的数字,因为它没有出现在 nums 中。
 

提示:

n == nums.length
1 <= n <= 104
0 <= nums[i] <= n
nums 中的所有数字都 独一无二
 

进阶:你能否实现线性时间复杂度、仅使用额外常数空间的算法解决此问题?

class Solution { public:     int missingNumber(vector<int>& nums) {     int res = 0;     for(int i=0;i<nums.size();i++){         res ^= nums[i]^(i+1);      }     return res;
    } };       // int n = nums.size();     // int res = n*(n+1)/2;     // for(int x:nums){     //     res -= x;     // }     // return res; 关键:异或的性质,a^b^b=a,等差数列求和减去和就等于缺少的数

标签:10.23,数字,示例,int,res,nums,算法,丢失
From: https://www.cnblogs.com/minipython-wldx/p/17781791.html

相关文章

  • 编程导航算法通关村第 1 关 | 链表
    1.前置知识补充内容引用:https://www.hello-algo.com/数据结构数据结构如同一副稳固而多样的框架。它为数据的有序组织提供了蓝图,使算法得以在此基础上生动起来。分类1.根据逻辑类型分类逻辑结构揭示了数据元素之间的逻辑关系。在数组和链表中,数据按照顺序依次排列,体现......
  • 【基础算法】二分查找
    一、算法原理二分查找适用于在有序数组中查找一个元素,使用了分治思想。每次比较要查找的元素与数组的中间元素,如果要查找的元素>中间元素,在数组后半部分继续查找;如果要查找的元素<中间元素,在数组前半部分继续查找;如果要查找的元素=中间元素,查找结束。二分查找通过比较要......
  • 智慧矿山:AI算法能有效识别你是否未穿戴安全带!
    未穿戴安全带识别AI算法,作为智慧矿山的重要应用之一,不仅可以有效提高矿山工作人员的安全意识,还可以降低事故发生的概率。然而,识别准确率的提高一直是该算法面临的挑战之一。为了解决这个问题,研究人员不断努力探索新的方法和技术。目前,提高未穿戴安全带识别AI算法的准确率可以通过以......
  • 文心一言 VS 讯飞星火 VS chatgpt (118)-- 算法导论10.3 3题
    三、用go语言,在ALLOCATE-OBJECT和FREE-OBJECT过程的实现中,为什么不需要设置或重置对象的prev属性呢?文心一言:在Go语言中,ALLOCATE-OBJECT和FREE-OBJECT过程的实现通常不需要显式地设置或重置对象的prev属性。这是因为在Go语言的内存管理中,对象(或更具体地说,变量)的生命......
  • 深度优先算法
    一、引例提问:输入一个数字n,输出1~n的全排列。首先,将全排列比作小盒子和扑克牌将数字比作扑克牌,我们有1号,2号,3号扑克牌和1号2号3号3个盒子。每个盒子只能放置一个扑克牌,实现全排列。那我们如何往小盒子中放入扑克牌。每个小盒子都可能放1号、2号或者3号扑克牌,这都需要一一尝试,这......
  • 牛牛小数输出的算法
    背景 输入一些内容,要求输出格式为两位随机数。最开始思路:1.读进来字符串,判断是否有'.'2.根据'.'判断是否需要补0或者异常处理3.以'.'为中心分为左右两段,在处理完成后进行拼接  总结:1.python应该用python的思维模式去编程,不应该重复造轮子或用C++的编程思维2.写方法......
  • 算法笔试题:有效的括号字符串,常规栈思路
    题:给定一个只包含三种字符的字符串:(,)和*,写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则:任何左括号(必须有相应的右括号)。任何右括号)必须有相应的左括号(。左括号(必须在对应的右括号之前)。*可以被视为单个右括号),或单个左括号(,或一......
  • 10.22算法
    有效的括号给定一个只包括'(',')','{','}','[',']' 的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。 示例1:输入:s="()"输出:true示例 2:输入:s="()[]{}"输出:tru......
  • 提高组算法-图论学习笔记
    ##2023-10-21第一节基本概念      一、什么是图:点用边连起来就叫做图,是一种数据结构。二、图的一些定义和概念1、有向图:图的边有方向,只能按箭头方向从一点到另一点。  2、无向图:图的边没有方向,可以双向。3、结点的度:无向......
  • 最小生成树 PRIM算法 - 附可运行代码
    学习的时候,觉得这篇资料蛮好的:https://www.cnblogs.com/JayShao/p/12381830.html 然后这篇文章比较新颖,自觉比较适合写代码的理解:https://www.geeksforgeeks.org/kruskals-minimum-spanning-tree-algorithm-greedy-algo-2/  代码也比较齐全,我自己动手试试吧! Prim:生成......