力扣645.错误的集合

一点一点地刷,慢慢攻克力扣!!

王子公主请看题

集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。给定一个数组 nums 代表了集合 S 发生错误后的结果。

请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。

具体如下:

思路一:

建一个数组,存放nums数组每个元素出现个数,再一次for循环找到次数为0的对应下标就是我们的目标数字


int* findErrorNums(int* nums, int numsSize, int* returnSize) {

*returnSize = 2;

int* arr = (int*)calloc(sizeof(int), (numsSize + 1));

for (int i = 0; i < numsSize; i++)

arr[nums[i]]++;

for (int i = 1; i <= numsSize; i++)

{

if (arr[i] == 2)

arr[0] = i;

if (arr[i] == 0)

arr[1] = i;

}

return arr;

}

思路二

for循环双重嵌套,一个一个从1到n进行比较,找到没出现的数即可

AC!

相关推荐
云烟成雨TD几秒前
Spring AI Alibaba 1.x 系列【15】工具执行拦截器(ToolInterceptor)
java·人工智能·spring
迷途之人不知返2 分钟前
算法类型:双指针类型
算法
ch.ju4 分钟前
Java程序设计(第3版)第二章——逻辑运算符
java
喜欢流萤吖~5 分钟前
SpringBoot 异步处理与线程池实战
java·开发语言
大罗LuoSir5 分钟前
分布式微服务全貌了解-整体架构、特征和需关注解决的问题
java·缓存·微服务·zookeeper·容器·服务发现·负载均衡
吴可可1237 分钟前
三点绘圆弧的几何实现
算法
野生技术架构师9 分钟前
2026年Java面试题集锦(含答案)
java·开发语言·面试
kyle~10 分钟前
导航---LIO(激光雷达-惯性里程计)算法
c++·算法·机器人·ros2·导航
Sunia12 分钟前
告别样板代码:深度解析 Lombok 核心注解 @Builder 与 @RequiredArgsConstructor
java
大G的笔记本17 分钟前
BIO(Blocking I/O) 和 NIO(Non‑Blocking I/O) 两种不同的 I/O 模型
java·nio