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

leetcode:面试题 17.04. 消失的数字(找单身狗/排序/公式)

一、题目:

函数原型:int missingNumber(int* nums, int numsSize)

二、思路:

思路1

利用“找单身狗”的思路(n^n=0;0^n=n),数组中有0-n的数字,但缺失了一个数字x。将这些数字按位异或0-n所有数字,那么最后的结果为0^x,最终结果就是x。

思路2

先将数组排序(升序),遍历数组,如果前一元素+1 不等于 后一元素,则说明缺失的元素是前一元素+1。但是如果缺失的是0或者n,无法用上述方法解决,需要先判断排序后的首元素和尾元素是否等于0、n;如果不等于,确实的元素就是0或n。

 

思路3

等差数列求和,求0 ~(numsSize+1)的和,再减去数组的所有元素和,差值即为缺失的数字。

三、代码:

代码1

int missingNumber(int* nums, int numsSize)
{int result = 0;for (int i = 0; i < numsSize; i++)//按位与数组中所有数字{result ^= nums[i];}for (int i = 0; i <= numsSize; i++)//按位与0-n所有数字{result ^= i;}return result;
}

代码2

int cmp(const void* e1, const void* e2)
{return *(int*)e1 - *(int*)e2;
}int missingNumber(int* nums, int numsSize)
{qsort(nums, numsSize, sizeof(int), cmp);if (nums[0] != 0)return 0;else if (nums[numsSize - 1] != numsSize)return numsSize;else{int i = 0;for (i = 0; i < numsSize - 1; i++){if ((nums[i] + 1) != nums[i + 1])return nums[i] + 1;}}
}

代码3

int missingNumber(int* nums, int numsSize)
{int sum = (0 + numsSize) * (numsSize + 1) / 2;for (int i = 0; i < numsSize; i++){sum -= nums[i];}return sum;
}
http://www.lryc.cn/news/204875.html

相关文章:

  • 基于SpringBoot的时间管理系统
  • centos搭建elastic集群
  • CUDA学习笔记(九)Dynamic Parallelism
  • 周记之马上要答辩了
  • git简介和指令
  • alibaba.fastjson的使用(五)-- Json数组字符串 ==》 JSONArray
  • ts json的中boolean布尔值或者int数字都是字符串,转成对象对应类型
  • 【OpenGL】七、混合
  • JVM——堆内存调优(Jprofiler使用)Jprofile下载和安装很容易,故没有记录,如有需要,在评论区留言)
  • Android cmdline-tools 版本与其最小JDK关系
  • 基于ARM+FPGA+AD的多通道精密数据采集仪方案
  • 【JAVA学习笔记】43 - 枚举类
  • Springcloud介绍
  • LK光流法和LK金字塔光流法(含python和c++代码示例)
  • 数据库索引是什么?创建索引的注意事项
  • java中的异常,以及出现异常后的处理【try,catch,finally】
  • 前端构建但没有更新
  • 【Opencv】OpenCV使用CMake和MinGW的编译安装出错解决
  • #Day Day Plan# 《NCB_PCI_Express_Base 5.0.1.0》pdf 译文笔记 模版
  • 分代ZGC详解
  • vue图片懒加载
  • 【c++】运算符重载实例
  • 用*画田字形状,numpy和字符串格式化都可以胜任
  • 搭建一个windows的DevOps环境记录
  • 漏洞扫描系统的主要功能有哪些
  • Spring Boot配置多个Kafka数据源
  • Learning Open-World Object Proposals without Learning to Classify(论文解析)
  • 前端在项目中添加自己的功能页面
  • 数据库MySQL(二):DDL数据定义语言
  • Spring FactoryBean 源码讲解