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

相关推荐
2601_950703944 分钟前
PyCharm性能优化终极指南
java
WBluuue5 分钟前
Codeforces 1088 Div1+2(ABC1C2DEF)
c++·算法
蓝色的杯子13 分钟前
Python面试30分钟突击掌握-LeetCode3-Linked list
python·leetcode·面试
yzp-14 分钟前
Spring 三级缓存 ---- 简单明了豆包版
java·mysql·spring
像素猎人14 分钟前
map<数据类型,数据类型> mp和unordered_map<数据类型,数据类型> ump的讲解,蓝桥杯OJ4567最大数目
c++·算法·蓝桥杯·stl·map
Narrastory15 分钟前
Note:强化学习(一)
人工智能·算法·强化学习
隐退山林16 分钟前
JavaEE进阶:导读&SpringBoot快速上手
java·spring boot·java-ee
送秋三十五20 分钟前
Spring 源码---------Spring Core
java·数据库·spring
悟空码字21 分钟前
SpringBoot + 微信支付实现“扫码开门,取货自动扣款”售货柜
java·spring boot·后端
沐雪轻挽萤26 分钟前
1. C++17新特性-序章
java·c++·算法