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

力扣排序268题 数字丢失

题目:

丢失的数字
给定一个包含[0,n]中n各数的数组nums,找出[0,n]这个范围
内没有出现在数组中的那个数。
示例1:
输出:n = 3,因为有3个数字,所以所有的数字都在范围
[0,3]内。2是丢失的数字,因为它没有出现在nums中。

解题思路:

可以利用数组中数字的和与0到n的所有数字的和之差来找到丢失的数字。

0到n的所有数字的和可以根据等差数列求和公式(n*(n+1)// 2来计算。

然后计算给定数组nums中所有数字的和,两者相减得到的数就是丢失的数。

代码解析:

1,首先,通过len(nums)获取数组nums的长度n,这个n就是题目中所说的范围[0,n]中的n。

2,接着,根据等差就和公式计算出0到n的所有数字的和expect_sum(期望的值)

3,然后,使用sum(nums)计算给定数组nums中所有数字的实际和actual_sum。

4,最后,返回等差求得的期望expect的值减去actual_sum的值就是所要求丢失的数


http://www.kler.cn/a/377527.html

相关文章:

  • json-server的使用(根据json数据一键生成接口)
  • [mysql]修改表和课后练习
  • 【工具变量】中国制造2025试点城市数据集(2000-2023年)
  • leetcode-有效的字母异位词
  • 前端通过nginx部署一个本地服务的方法
  • 【初阶数据结构与算法】复杂度分析练习之轮转数组(多种方法)
  • h5st参数解析
  • 石狮自闭症儿童全托:创造多彩童年,共享快乐成长
  • 我们来学mysql -- 连接(原理版)
  • vue+websocket实现即时聊天平台
  • C/C++--10--VS2008编译C语言时如何将const LineA * 里面的值赋值给另外一个结构体LineA?
  • 站群服务器对SEO优化的具体帮助是什么
  • goframe开发一个企业网站 前端界面 拆分界面7
  • Linux Qt 6安装Oracle QOCI SQL Driver插件(适用WSL)
  • 设计模式-观察者模式(代码实现、源码级别应用、使用场景)
  • R6:LSTM实现糖尿病探索与预测
  • 中药大数据(四):数据预处理+管理端的功能实现
  • linux-valgrind检测分析C/C++程序(三)
  • 4. STM32之TIM实验--输出比较(PWM输出,电机,四轴飞行器,智能车,机器人)--(实验2:PWM驱动舵机)
  • Java方法的使用
  • MP4650模块改为固定电压记录
  • 【C++】深入理解 C++ 输入输出同步机制:为什么 cin/cout 没有 scanf/printf 快?
  • Java: 遍历 Map
  • Ubuntu编译linux内核指南(适用阿里云、腾讯云等远程服务器;包括添加Android支持)
  • golang有序map
  • vue3 + ts + element-plus 二次封装 el-table