Leetcode每日一题——“消失的数字”

news2024/10/6 1:36:16

各位CSDN的uu们你们好呀,今天,小雅兰又开新专栏了,以后会在Leetcode上面进行刷题,尽量每天写一道,请大家监督我!!!好啦,让我们进入Leetcode的世界吧


力扣


对于这道题目,有很多种解法,接下来就由小雅兰来你们细细剖析!!!


解法一:

排序,依次查找,如果下一个数不是上一个数+1,那么上一个数+1就是消失的数字!!! 

但是这种方法,时间复杂度过高,不符合力扣的要求

利用冒泡排序的话,时间复杂度为O(N^2) 

利用qsort(快速排序)的话,时间复杂度为O(N*logN)

但是这道题目要求时间复杂度为O(N)

那么,这种方法就不行,那这种方法小雅兰就不写这种方法的代码啦


解法二:

异或  相同为0,相异为1

  •  首先,把x赋值为0
  • for循环,让x和nums数组的每一个元素异或
  • 然后又一个for循环,让x和0到numsSize的数字异或
  • 最后的答案就是只出现一次的数字
  • 最后异或的结果就是我们要求的消失的数字
int missingNumber(int* nums, int numsSize)
{
  int i=0;
  int x=0;
  for(i=0;i<numsSize;i++)
  {
     x^=nums[i];
  }
  for(i=0;i<numsSize+1;i++)
  {
      x^=i;
  }
  return x;
}

解法三:

利用数学公式

等差数列求前n项和的公式为:Sn=n*(n+1)/2

求完和之后,减去nums数组中的所有的值,最后结果就是消失的数字啦

int missingNumber(int* nums, int numsSize)
{
  size_t i=0;
  int x=numsSize*(1+numsSize)/2;
  for(i=0;i<numsSize;i++)
  {
      x-=nums[i];
  }
  return x;
}

好啦,小雅兰今日刷题经验就到这里啦,还要继续加油噢!!!

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/413195.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

南卡OE Pro上线!开放式耳机新里程碑!前所未有的音质舒适双冠

当前耳机市场放眼望去几乎都是TWS的天下&#xff0c;但是大多数的蓝牙耳机都存在着以下痛点&#xff1a;长时间佩戴涨耳、出现听诊器效应、耳朵内部发痒以及与外界声音隔开缺乏安全性等等问题。 为此&#xff0c;国内智能声学品牌厂商NANK南卡针对用户的特点&#xff0c;于近日…

中小企业如何实施知识管理策略?

随着信息化建设的深入&#xff0c;IT不仅成为企业运营的基础平台&#xff0c;而且在ERP、CRM、OA等信息系统内沉淀了大量的知识&#xff0c;成为企业创新的源泉&#xff0c;大中企业信息化建设中知识管理越来越重要。 应该如何实现知识管理呢&#xff1f; 知识管理本身就属于企…

Flutter系列(七)ListView 图文列表详解

完整工程&#xff1a; Flutter系列&#xff08;四&#xff09;底部导航顶部导航图文列表完整代码_摸金青年v的博客-CSDN博客 详细解读: Flutter系列&#xff08;五&#xff09;底部导航详解_摸金青年v的博客-CSDN博客 Flutter系列&#xff08;六&#xff09;顶部导航详解_摸金青…

初学SSM时做的-IKUN图书管理系统

项目介绍 项目工具:IntelliJ IDEA 2021.2.2 图书后台管理系统&#xff0c;采用SpringBootMybatiusThymeleaf&#xff0c;页面使用Element框架&#xff0c;使用RESTful API风格编写接口。 数据库使用mysql 已实现功能 基本增删改查,联表查询 拦截器登录验证 项目技术栈 Spr…

4.15--设计模式之创建型之责任链模式(总复习版本)---脚踏实地,一步一个脚印

一、什么是责任链模式&#xff1a; 责任链模式属于行为型模式&#xff0c;是为请求创建了一个接收者对象的链&#xff0c;将链中每一个节点看作是一个对象&#xff0c;每个节点处理的请求均不同&#xff0c;且内部自动维护一个下一节点对象。 当一个请求从链式的首端发出时&a…

C++(Qt)软件调试---qmake编译优化和生成调试信息(9)

C(Qt)软件调试—qmake编译优化和生成调试信息&#xff08;9&#xff09; 文章目录C(Qt)软件调试---qmake编译优化和生成调试信息&#xff08;9&#xff09;1、前言1.1 编译器优化是什么1.2 调试信息是什么1.3 测试环境2、Qt编译模式说明3、比较Linux下Qt三种编译模式1.1 编译生…

DevOps系列文章 - K8S知识体系

环境搭建部分&#xff1a; 1、安装前的准备工作 # 关闭防火墙 systemctl stop firewalld systemctl disable firewalld# 查看hostname并修改hostname # 查看本机hostname hostnamectl set-hostname k8s-master # 把本机名设置成k8s-master hostnamectl status # 查看修改结…

Linux复习 / 文件系统QA梳理

文章目录前言Q&A文件的基本理解Q&#xff1a;谈谈你是怎么理解文件的&#xff1f;Q&#xff1a;什么是当前工作路径&#xff1f;Q&#xff1a;文件与操作系统有着怎样的关系&#xff1f;Q&#xff1a;为什么语言要封装系统接口&#xff1f;文件描述符Q&#xff1a;系统和进…

基于JSP的网上购物系统的设计与实现(论文+源码)_kaic

摘 要 近些年来&#xff0c;社会的生产力和科技水平在不断提高&#xff0c;互联网技术也在不断更新升级&#xff0c;网络在人们的日常生活中扮演着一个重要角色&#xff0c;它极大地方便了人们的生活。为了让人们实现不用出门就能逛街购物&#xff0c;网络购物逐渐兴起慢慢变得…

ES6(声名、解构)

参考文档&#xff1a; ES6 入门教程https://es6.ruanyifeng.com/ 注意&#xff1a;内容较多&#xff1a;只看引用部分的内容即可&#xff08;代码一眼过搭配理解&#xff09; 一、变量声明 1. let let声名的变量只在所处于的块级有效 let a 10; if (true) {let b 20;cons…

人工智能 AI 绘画发展史

到了去年4月, 著名人工智能团队OpenAI 也发布了新模型 DALLE 2代&#xff0c;该名称来源于著名画家达利&#xff08;Dal&#xff09;和机器人总动员&#xff08;Wall-E&#xff09;, 同样支持从文本描述生成效果良好的图像. 而很多读者对AI绘画开始产生特别的关注, 或许是从以下…

有趣的Hack-A-Sat黑掉卫星挑战赛——AES加密通信链路侧信道攻击leaky

国家太空安全是国家安全在空间领域的表现。随着太空技术在政治、经济、军事、文化等各个领域的应用不断增加&#xff0c;太空已经成为国家赖以生存与发展的命脉之一&#xff0c;凝聚着巨大的国家利益&#xff0c;太空安全的重要性日益凸显[1]。而在信息化时代&#xff0c;太空安…

如何将Springboot项目通过IDEA打包成jar包,并且转换成可执行文件

首先在IDEA打开你的项目&#xff0c;需要确认项目可以正常运行&#xff0c;然后点击页面右侧的Maven,运行Lifecycle下的package, 此时在项目的target目录下就可以看到一个jar包 这个时候你可以在jar包所在目录下执行cmd窗口&#xff0c;运行 java -jar campus-market-0.0.1-S…

BUUCTF-SimpleRev

下载文件 查壳 没有加壳 并且是64 放入ida64 SHIFTF12 访问字符串 得到关键字符串 双击 然后 CRTLX 查找交互 F5 反编译 得到了代码 开始代码审计 我们可以发现有两个十六进制的东西 r 对其转换为字符串 srcSLCDN v9wodah 然后继续往下看 发现textjoin函数 我们进入看…

STM32+AT24C02实现易变参数存储

AT24C02是一个2K位串行CMOS E2PROM&#xff0c; 内部含有256个8位字节存储单元&#xff0c;该器件通过IIC总线接口进行操作&#xff0c; AT24C02把存储空间分为 32 页&#xff0c;每页可存储8个字节的数据&#xff0c;具有硬件数据写保护功能&#xff0c;100万次擦写&#xff0…

Docker理论总结

目录 容器技术的演变 物理机时代 虚拟化时代 容器化时代 容器化技术的应用场景 Docker介绍与基本概念 标准化的应用打包 Docker的发展 Docker是容器化平台 Docker体系架构 容器与镜像 Docker执行流程 容器内部 Tomcat容器内部结构 在容器中执行命令 容器生命周…

( “树” 之 DFS) 104. 二叉树的最大深度 ——【Leetcode每日一题】

104. 二叉树的最大深度 给定一个二叉树&#xff0c;找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例&#xff1a; 给定二叉树 [3,9,20,null,null,15,7]&#xff0c; 返回它的最大深度 3 。 思路&am…

深度学习TensorFlow

博主简介 博主是一名大二学生&#xff0c;主攻人工智能研究。感谢让我们在CSDN相遇&#xff0c;博主致力于在这里分享关于人工智能&#xff0c;c&#xff0c;Python&#xff0c;爬虫等方面知识的分享。 如果有需要的小伙伴可以关注博主&#xff0c;博主会继续更新的&#xff0c…

redis整理之-持久化

redis整理之-持久化5. 持久化5.1 持久化简介5.1.1 场景-意外断电5.1.2 什么是持久化5.2 RDB5.2.1 save指令5.2.2 bgsave指令5.2.3 save配置自动执行5.2.4 RDB三种启动方式对比5.3 AOF5.3.1 AOF概念5.3.2 AOF执行策略5.3.3 AOF重写5.3.4 AOF工作流程及重写流程5.4 RDB与AOF区别5…

python开发环境的安装,PyCharm+python解释器

文章目录注意&#xff1a;软件打包下载&#xff1a;PyCharm的下载与安装下载安装python解释器的下载与安装下载安装PyCharm软件设置注意&#xff1a; 以下是Windows下的安装&#xff0c;Linux以及其他操作系统下的安装请类比参照&#xff01; 软件打包下载&#xff1a; PyCh…