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

力扣(LeetCode) ——645. 错误的集合(C语言)

题目:645. 错误的集合

集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。

给定一个数组 nums 代表了集合 S 发生错误后的结果。

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

示例1:

输入: nums = [1 , 2 , 2 , 4]
输出: [2 , 3]

示例2:

输入: nums = [1 , 1]
输出: [1 , 2]
解释:

解题思路:

使用 calloc 开辟一个numsSize+1大小的空间,空间初始值为0。再开辟一个两个字节的空间用于存放返回值。
通过循环把 nums 数组的值放在开辟空间中的下标处,再创建两个变量,一个用于计算nums数组中值的总数,另一个用于存放1~numsSize的值。判断遇到重复值的存放在返回值下标为0的位置。
最后通过sum1-(sum2-ret[0])结果存放再返回值下标为1的位置。释放numsSize+1大小的空间。

最终代码:

int* findErrorNums(int* nums, int numsSize, int* returnSize) 
{int* arr = (int*)calloc(numsSize+1,sizeof(int));int* ret = (int*)malloc(sizeof(int)*2);*returnSize = 2;int sum1 = 0;int sum2 = 0;for(int i = 0;i<numsSize;i++){if(arr[nums[i]] == 1){ret[0] = nums[i];}arr[nums[i]] = 1;sum1 += i+1;sum2 += nums[i];}ret[1] = sum1-(sum2-ret[0]);free(arr);return ret;
}

赶紧动起手来吧!!!
点击下方即可跳转
错误的集合

http://www.xdnf.cn/news/19304.html

相关文章:

  • 整体设计 的语言设计:通用模型语言的标准模板语言的规格模式语言(搜狗汪仔答问)
  • GooglePlay提审问题记录
  • 国家统计局数据分析01——机器学习
  • wpf之附加属性
  • Odoo与Django 的区别是什么?
  • ADFS 和 OAuth 的区别
  • 龙迅#LT7641GX适用于四路HDMI2.1/DP/TPYE-C转HDMI2.1混切应用,分辨率高达8K60HZ!
  • 线性表和顺序表
  • 数据存储——数据库
  • 安卓开发---SimpleAdapter
  • ansible的playbook练习题
  • shell学习(二)
  • 【完整源码+数据集+部署教程】传送带建筑材料识别系统源码和数据集:改进yolo11-AFPN-P345
  • 网站酷炫换皮肤?——PC 端 H5 换肤方案实战分享
  • PCIe 6.0 TLP结构解析:深入理解事务层数据包的设计与实现
  • IDEA编译报错:Error:(3, 28) java: 程序包com.alibaba.fastjson不存在
  • 图解帕累托前沿(pareto frontier)
  • 海康相机开发---设备布防(Setup Alarm)
  • python 解码 视频解码
  • RAG教程6:cohere rerank重排
  • openEuler系统实现MySQL数据库主从复制
  • 基于站点、模式、遥感多源降水数据融合与评估;Python驱动下,从基础处理、机器学习建模到气候态产品生成的全流程解析
  • 2.ImGui-搭建一个外部绘制的窗口环境(使用ImGui绘制一个空白窗口)
  • python 2025/7/28
  • 03.《交换的底层逻辑:从基础到应用》
  • edgeone 边缘加速平台使用“坑”记录
  • 洛谷P1090 [NOIP 2004 提高组] 合并果子 详解
  • 三维动画渲染农场哪家便宜?
  • 【69页PPT】智慧方案智慧医疗产业园区规划设计方案(附下载方式)
  • vscode优化合集 - Visual Studio Code