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

相关推荐
老鼠只爱大米几秒前
LeetCode经典算法面试题 #295:数据流的中位数(双堆法、有序列表、平衡树等多种实现方案详解)
算法·leetcode·优先队列··数据流·中位数·java 面试题
没有bug.的程序员1 分钟前
S 级 SaaS 平台的物理雪崩:Spring Cloud Gateway 多租户动态路由与 UserID 极限分片
java·gateway·springboot·saas·springcloud·多租户、·userid
x_xbx4 分钟前
LeetCode:215. 数组中的第K个最大元素
数据结构·算法·leetcode
你不是我我4 分钟前
【Java 开发日记】我们来说一下 b+ 树与 b 树的区别
java·开发语言
左左右右左右摇晃8 分钟前
Java笔记——反射
java·tomcat
黎阳之光10 分钟前
AI数智筑防线 绿色科技启新篇——黎阳之光硬核技术赋能生态安全双升级
大数据·人工智能·算法·安全·数字孪生
2501_9249526910 分钟前
C++中的过滤器模式
开发语言·c++·算法
左左右右左右摇晃11 分钟前
Java笔记——IO
java·开发语言·笔记
萍萍学习11 分钟前
蓝桥杯JAVA-3
java·职场和发展·蓝桥杯
2401_8732046512 分钟前
C++中的组合模式实战
开发语言·c++·算法