力扣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!

相关推荐
Mr. zhihao9 分钟前
Java 反序列化中的 boolean vs Boolean 陷阱:一个真实的 Bug 修复案例
java·bug·lua
Elieal18 分钟前
Spring 框架IOC和AOP
java·数据库·spring
时间不说谎21 分钟前
C语言 strtok线程不安全
c语言
寂静山林25 分钟前
UVa 11853 Paintball
算法
初圣魔门首席弟子30 分钟前
vscode多文件编程bug记录
java·vscode·bug
华仔啊34 分钟前
提升 Java 开发效率的 5 个神级技巧,超过 90% 的人没用全!
java·后端
沐浴露z37 分钟前
【JVM】详解 线程与协程
java·jvm
前路不黑暗@42 分钟前
Java:继承与多态
java·开发语言·windows·经验分享·笔记·学习·学习方法
第七序章43 分钟前
【C + +】C++11 (下) | 类新功能 + STL 变化 + 包装器全解析
c语言·数据结构·c++·人工智能·哈希算法·1024程序员节
ZhengEnCi1 小时前
J1A-Java版本选择踩坑指南-为什么99%的人选错JDK版本?大厂Java开发者的版本选择内幕大公开
java