错误的集合(力扣刷题)

个人主页(找往期文章包括但不限于本期文章中不懂的知识点):我要学编程(ಥ_ಥ)-CSDN博客

由于作者比较菜,还没学malloc这个函数,因此这个题目只写一些与原题大致的思路。

题目链接:645. 错误的集合 - 力扣(LeetCode) 

题目:

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

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

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

示例 1:

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

示例 2:

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

思路:

我们肯定得一个一个的去排查。那怎么排查呢?我们要创建应该数组产生从1~n的数。然后一个一个的比较,最后得出结果。 但是这个题目有一个误导的点,就是这个原来的数组不一定是有序的,需要我们自己将这个数组排成有序,这里我们就想到了冒泡排序。(升序或者降序都可以)

nums//这个是错误的数组
numsSize//这个是错误数组的元素个数

实现:

我们就可以先来把这个数组进行排序。

int i = 0;
for (i = 0; i < numsSize - 1; i++)//趟数:要排的数-1
{
    int j = 0;
    for (j = 0; j < numsSize - 1 - i; j++)//每一趟要做的事
    {
        if (*(nums + i) > *(nums + i + 1))//如果不满足升序就得交换
        {
            int tmp = *(nums + i);
            *(nums + i) = *(nums + i + 1);
            *(nums + i + 1) = tmp;
        }
    }
}

接下来就开始一个一个的比较 。

 int count1 = 0;//记录重复出现的数
 int count2 = 0;//记录丢失的数
 for (i = 0; i < numsSize; i++)
 {
     if (*(nums + i) != (i + 1))
     {
         count1 = *(nums + i);
         count2 = (i + 1);
     }
 }

找到了,就可以打印在屏幕上。

printf("重复出现的数是:%d\n", count1);
printf("丢失的数是:%d\n", count2);
#include <stdio.h>
void findErrorNums(int* nums, int numsSize)
{
    //冒泡排序
    int i = 0;
    for (i = 0; i < numsSize - 1; i++)//趟数:要排的数-1
    {
        int j = 0;
        for (j = 0; j < numsSize - 1 - i; j++)//每一趟要做的事
        {
            if (*(nums + i) > *(nums + i + 1))//如果不满足升序就得交换
            {
                int tmp = *(nums + i);
                *(nums + i) = *(nums + i + 1);
                *(nums + i + 1) = tmp;
            }
        }

    }
   
    int count1 = 0;//记录重复出现的数
    int count2 = 0;//记录丢失的数
    for (i = 0; i < numsSize; i++)
    {
        if (*(nums + i) != (i + 1))
        {
            count1 = *(nums + i);
            count2 = (i + 1);
        }
    }
    printf("重复出现的数是:%d\n", count1);
    printf("丢失的数是:%d\n", count2);
}

int main()
{
    int arr[] = { 1,2,2,4 };//可以自己输入想要排查的数
    int sz = sizeof(arr) / sizeof(arr[0]);
    findErrorNums(arr, sz);
    return 0;
}

 如果我们想要输入排查的数,就可以这样写。

 int n = 0;
 scanf("%d", &n);
 int arr[n];
 for (int i = 0; i < n; i++)
 {
     scanf("%d", (arr + i));//只能有一个丢失的数和重复的数
 }

由于VS2022不支持变长数组,所有我就只能输入一个固定的数。 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/383754.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小周带你正确理解Prompt-engineering,RAG,fine-tuning工程化的地位和意义

有人会说&#xff1a;"小周&#xff0c;几天不见这么拉了&#xff0c;现在别说算法了&#xff0c;连code都不讲了&#xff0c;整上方法论了。" 我并没有拉&#xff01;而且方法论很重要&#xff0c;尤其工程化的时候&#xff0c;你总得知道每种技术到底适合干啥&…

创建你的第一个Vue项目(小白专享版本)

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

TestNG基础教程

TestNG基础教程 一、常用断言二、执行顺序三、依赖测试四、参数化测试1、通过dataProvider实现2、通过xml配置&#xff08;这里是直接跑xml&#xff09; 五、testng.xml常用配置方式1、分组维度控制2、类维度配置3、包维度配置 六、TestNG并发测试1、通过注解来实现2、通过xml来…

05.坐标系

1. 坐标系原点 坐标系原点就是屏幕/窗口的左上角&#xff0c;X向右增长&#xff0c;Y向下增长。 2.设置控件位置 设置控件位置&#xff0c;就相当于是需要指定控件的坐标&#xff0c;对于该控件来说&#xff0c;其坐标原点是其父窗口/父控件的左上角。 设置方法就是通过控件的…

腾讯云4核8G服务器够用吗?容纳多少人同时访问?

腾讯云4核8G服务器支持多少人在线访问&#xff1f;支持25人同时访问。实际上程序效率不同支持人数在线人数不同&#xff0c;公网带宽也是影响4核8G服务器并发数的一大因素&#xff0c;假设公网带宽太小&#xff0c;流量直接卡在入口&#xff0c;4核8G配置的CPU内存也会造成计算…

《CSS 简易速速上手小册》第9章:CSS 最佳实践(2024 最新版)

文章目录 9.1 维护大型项目的 CSS9.1.1 基础知识9.1.2 重点案例&#xff1a;构建一个可复用的 UI 组件库9.1.3 拓展案例 1&#xff1a;优化现有项目的 CSS 结构9.1.4 拓展案例 2&#xff1a;实现主题切换功能 9.2 BEM、OOCSS 和 SMACSS 方法论9.2.1 基础知识9.2.2 重点案例&…

C/C++模板初阶

目录 1. 泛型编程 2. 函数模板 2.1 函数模板概念 2.1 函数模板格式 2.3 函数模板的原理 2.4 函数模板的实例化 2.5 模板参数的匹配原则 3. 类模板 3.1 类模板的定义格式 3.2 类模板的实例化 1. 泛型编程 如何实现一个通用的交换函数呢&#xff1f; void Swap(int&…

【Jenkins】Jenkins关闭Jenkins关闭、重启

目录 一、Jenkins关闭、重启 二、Jenkins服务的启动、停止方法。 一、Jenkins关闭、重启 1.关闭Jenkins 只需要在访问jenkins服务器的网址url地址后加上exit&#xff0c;关闭Jenkins服务。 例如&#xff1a;http://localhost:8081/exit 2.重启Jenkies 只有在Jenkins服务启动…

亚马逊认证考试系列 - 知识点 - LightSail介绍

一、引言 在当今云计算的时代&#xff0c;亚马逊网络服务&#xff08;AWS&#xff09;已成为业界领先的云服务提供商。其中&#xff0c;LightSail服务是AWS为简化云计算的入门和使用而推出的一项服务。它特别适合那些想要快速搭建网站、开发环境或小型应用的用户。通过LightSa…

[office] Excel表格中自动添加的超连接怎么取消? #媒体#其他#知识分享

Excel表格中自动添加的超连接怎么取消&#xff1f; Excel表格中自动添加的连接怎么取消&#xff1f;有时候在Excel2013中输入网址或邮箱时会自动添加超连接&#xff0c;本质上这是很人性化的功能&#xff0c;可是对很多人来说可能用不到&#xff0c;而且很繁琐&#xff0c;下面…

寒假作业:2024/2/11

作业1&#xff1a;使用递归实现n! 代码&#xff1a; #include <stdio.h> #include <string.h> #include <stdlib.h> int fun(int n) {if(0n){return 1;}else{return n*fun(n-1);} } int main(int argc, const char *argv[]) {int n;printf("please en…

寒假思维训练day20

更新一道1600的反向贪心 题意&#xff1a; 有n场比赛&#xff0c;且小明的智商是m&#xff0c;每场比赛需要的智商是,当时, 可以直接看题&#xff0c;当时&#xff0c;需要智商m减1才能看这道题&#xff0c;当智商为0不能继续往下看题&#xff0c;问最多能看多少题 题解&#x…

【洛谷题解】P1029[普及组]最大公约数和最小公倍数问题

题目链接&#xff1a;[NOIP2001 普及组] 最大公约数和最小公倍数问题 - 洛谷 题目难度&#xff1a;普及- 涉及知识点&#xff1a;stl函数&#xff0c;最大公因数&#xff0c;最小公倍数 题意&#xff1a; 输入输出样例&#xff1a; 分析&#xff1a;直接套用公式优化累加即…

解决Typora导出HTML不显示图片

解决Typora导出HTML不显示图片 产生原因 Typora导出HTML不显示图片&#xff0c;可能时图片存放在我们的硬盘中。 我们可以将markdown中的图片转化为base64格式&#xff0c;嵌入到html中。 解决步骤 首先&#xff0c;下载 TyporaToBase64.jar 密码:45jq 其次&#xff0c;将…

DS:单链表实现队列

创作不易&#xff0c;友友们来个三连支持吧&#xff01; 一、队列的概念 队列&#xff1a;是只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先进先出FIFO(First In First Out)的特点。 入队列&#xff1a;进行插入操作…

VTK 三维场景的基本要素(相机) vtkCamera 相机的运动

相机的运动 当物体在处于静止位置时&#xff0c;相机可以在物体周围移动&#xff0c;摄取不同角度的图像 移动 移动分为相机的移动&#xff0c;和相机焦点的移动&#xff1b;移动改变了相机相对焦点的位置&#xff0c;离焦点更近或者更远&#xff1b;这样就会改变被渲染的物体…

sqlmap 使用笔记(kali环境)

sqlmap使用 kali环境 -u或–url 直接扫描单个路径 //如果需要登录要有cookie sqlmap -u "http://10.0.0.6:8080/vulnerabilities/sqli/?id1" --cookie"PHPSESSIDisgvp2rv4uts46jbkb9bouq6ir; securitylow"-m 文件中保存多个url&#xff0c;工具会依次扫…

前后端分离好处多多,怕就怕分工不分人,哈哈

前后端分离倡导多年了&#xff0c;现在基本成为了开发的主流模式了&#xff0c;贝格前端工场承接的前端项目只要不考虑seo的&#xff0c;都采用前后端分离模式&#xff0c;这篇文章就来介绍一下前后端分离模式。 一、什么是前后端分离开发模式 前后端分离是一种软件开发的架构…

Linux第46步_通过“添加自定义菜单”来学习menuconfig图形化配置原理

通过“添加自定义菜单”来学习menuconfig图形化配置原理&#xff0c;将来移植linux要用到。 自定义菜单要求如下: ①、在主界面中添加一个名为“My test menu”&#xff0c;此菜单内部有一个配置项。 ②、配置项为“MY TESTCONFIG”&#xff0c;此配置项处于菜单“My test m…

第六篇【传奇开心果系列】Vant of Vue 开发移动应用示例:深度解析响应式布局支持

传奇开心果系列 系列博文目录Vant开发移动应用示例系列 博文目录前言一、Vant响应式布局介绍二、媒体查询实现响应式布局示例代码三、短点设置实现响应式布局示例代码四、响应式工具类实现响应式布局示例代码五、栅格系统实现响应式布局示例代码六、响应式组件实现响应式布局示…