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

力扣【448-消失的数字】【数组-C语言】

题目:力扣-448

给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。

把数组中存在[1…n]的元素放其元素值-1的位置上,第一个for循环结束得到一个:nums[i] - 1 == i,(若数组中存在该元素)

int* findDisappearedNumbers(int* nums, int numsSize, int* returnSize) {for (int i = 0; i < numsSize; i++) {int t = nums[i];int k = nums[t - 1];while (t != k) {nums[t - 1] = t;t = k;k = nums[t - 1];}}*returnSize = 0;int *result = (int*)malloc(numsSize * sizeof(int));for (int i = 0; i < numsSize; i++) {if (nums[i] != (i + 1)) {result[(*returnSize)++] = i + 1;}}return result;
}

时间复杂度:O(n)
空间复杂度:O(n)

优化程序
每遍历一个元素t,就把nums[t-1]处的元素值加上n,直到for循环结束,使nums数组中存在[1…n]范围内的数字都大于n,第二个for循环遍历nums数组,把其中大于n的数字,加入数组result中。

int* findDisappearedNumbers(int* nums, int numsSize, int* returnSize) {for (int i = 0; i < numsSize; i++) {int t = (nums[i] - 1) % numsSize;nums[t] += numsSize;}int* result = malloc(sizeof(int) * numsSize);*returnSize = 0;for (int i = 0; i < numsSize; i++) {if (nums[i] <= numsSize) {result[(*returnSize)++] = i + 1;}}return result;
}

时间复杂度:O(n)
空间复杂度:O(n)

相关文章:

力扣【448-消失的数字】【数组-C语言】

题目&#xff1a;力扣-448 给你一个含 n 个整数的数组 nums &#xff0c;其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字&#xff0c;并以数组的形式返回结果。 把数组中存在[1…n]的元素放其元素值-1的位置上&#xff0c;第一个fo…...

面试题:排序算法的稳定性?(文末有福利)

回归面试题&#xff01; 回答重点 稳定的排序算法&#xff1a;冒泡排序、插入排序、归并排序、计数排序。 不稳定的排序算法&#xff1a;选择排序、快速排序、堆排序、希尔排序。 扩展知识 1&#xff09;冒泡排序&#xff08;Bubble Sort&#xff09; 原理&#xff1a; 冒…...

在Jdk1.8中Collectors和Comparator使用场景

在Jdk1.8中Collectors和Comparator使用场景 ​Collectors​ 和 Comparator​ 是 Java 8 引入的两个非常重要的类&#xff0c;它们在处理集合和流&#xff08;Streams&#xff09;时起着重要的作用。以下是这两个类的使用场景以及它们的典型用法。 1. Collectors ​Collector…...

linux-性能优化命令

top 我们先来说说top命令用法&#xff0c;这个命令对于我们监控linux性能是至关重要的&#xff0c;我们先来看看展示结果。 top - 15:20:23 up 10 min, 2 users, load average: 0.39, 0.53, 0.35 Tasks: 217 total, 1 running, 216 sleeping, 0 stopped, 0 zombie %C…...

基于MT79815G CPE 板子上挂usb3.0的5G 模块,WIFI能跑多少速度呢

关于MT79815G CPE 板子上挂usb3.0的5G 模块&#xff0c;WIFI能跑多少速度的问题&#xff0c;我们以启明智显 ZX7981P智能无线接入型路由器&#xff08;CPE&#xff09;挂广合通5G模组为例说明&#xff1a; 一般来说&#xff0c;用 ZX7981P&#xff0c;通过软加速&#xff0c;U…...

R包compareGroups详细用法

compareGroups compareGroups 是一个功能强大的 R 包&#xff0c;专为数据质量控制、数据探索和生成用于出版的单变量或双变量表格而设计。它能够创建各种格式的报表&#xff0c;如纯文本、HTML、LaTeX、PDF、Word 或 Excel 格式&#xff0c;并显示统计数据&#xff08;均值、…...

如何选择高品质SD卡

如何选择高品质SD卡 SD卡&#xff08;Secure Digital Memory Card&#xff09;是一种广泛使用的存储器件&#xff0c;因其快速的数据传输速度、可热插拔的特性以及较大的存储容量&#xff0c;广泛应用于各种场景&#xff0c;例如在便携式设备如智能手机、平板电脑、运动相机等…...

C++学习:模拟priority_queue

一&#xff1a;仿函数 开始模拟前咱先了解一下仿函数。有了它&#xff0c;我们就可以自己传个代码让优先级队列升序还是降序&#xff0c;自己模拟时也不用在需要升序降序时改代码。这是个很有用的东西。 不写模版也可以&#xff0c;但模版能用在更多地方嘛 template <class …...

同程旅行对标拼多多:“形似神不似”

文&#xff1a;互联网江湖 作者&#xff1a;刘致呈 业绩好&#xff0c;并不意味着同程旅行就能高枕无忧了。 最近&#xff0c;媒体曝出&#xff1a;有用户在同程旅行APP上预订酒店&#xff0c;在预订成功并付款后&#xff0c;结果第二天却被酒店告知&#xff0c;没有查到相关…...

HOJ网站开启https访问 申请免费SSL证书 部署证书详细操作指南

https://console.cloud.tencent.com/ 腾讯云用户 登录控制台 右上角搜SSL 点击 SSL证书 进入链接 点申请 免费证书 有效期3个月 &#xff08;以后每三个月申请一次证书 上传&#xff09; 如果是腾讯云申请的域名 选 自动DNS验证 自动添加验证记录 如果是其他平台申请域…...

程序设计基础I-实验4 循环结构之for语句

7-1 sdut-C语言实验-AB for Input-Output Practice (Ⅳ) Your task is to Calculate a b. 输入格式: Your task is to Calculate a b. 输出格式: For each pair of input integers a and b you should output the sum of a and b in one line, and with one line of out…...

深入工作流调度的内核

在大数据时代&#xff0c;工作流任务调度系统成为了数据处理和业务流程管理的核心组件&#xff0c;在大数据平台的构建和开发过程中尤为重要。随着数据量的激增和业务需求的多样化&#xff0c;合理的任务调度不仅能够提高资源利用率&#xff0c;还能保证业务流程的稳定和高效运…...

vue3中动态引入组件并渲染组件

在开发中 有时会在打包或者各种可能的情况下 报错或警告提示 模块化打包的问题&#xff0c; 我们需要动态引入组件并渲染组件时&#xff0c;可以使用import引入 如下举例 import { ref, markRaw } from vue const childrenComponent ref(); onMounted(() > {//举例引入一个…...

【艾思科蓝】网络安全的隐秘战场:构筑数字世界的铜墙铁壁

第七届人文教育与社会科学国际学术会议&#xff08;ICHESS 2024&#xff09;_艾思科蓝_学术一站式服务平台 更多学术会议请看&#xff1a;https://ais.cn/u/nuyAF3 目录 引言 一、网络安全&#xff1a;数字时代的双刃剑 1.1 网络安全的定义与重要性 1.2 网络安全威胁的多元化…...

将图片资源保存到服务器的盘符中

服务类 系统盘符&#xff1a;file-path.disk&#xff08;可能会变&#xff0c;配置配置文件dev中&#xff09;文件根路径&#xff1a;file-path.root-path&#xff08;可能会变&#xff0c;配置配置文件dev中&#xff09;http协议的Nginx的映射前缀&#xff1a;PrefixConstant.…...

数学建模练习小题目

题目A 有三名商人各带一名仆人过河&#xff0c;船最多能载两人。在河的任何一岸&#xff0c;若仆人数超 过商人数&#xff0c;仆人会杀商人越货。如何乘船由商人决定&#xff0c;问是否有安全过河方案&#xff0c;若有&#xff0c;最少需要几步? 定义变量 商人和仆人的状态…...

不可错过的10款文件加密软件,企业电脑加密文件哪个软件好用

在信息安全日益重要的今天&#xff0c;企业和个人都需要可靠的文件加密软件来保护敏感数据。以下是2024年不可错过的10款文件加密软件&#xff0c;它们以强大的加密功能和易用性而闻名。 1.安秉加密软件 安秉加密软件是一款专为企业设计的信息安全管理工具&#xff0c;采用驱动…...

常用卫星学习

文章目录 Landsat-8 Landsat-8 由一台操作陆地成像仪 &#xff08;OLI&#xff09; 和一台热红外传感器 &#xff08;TIRS&#xff09;的卫星&#xff0c;OLI 提供 9 个波段&#xff0c;覆盖 0.43–2.29 μm 的波长&#xff0c;其中全色波段&#xff08;一般指0.5μm到0.75μm左…...

音视频入门基础:FLV专题(3)——FLV header简介

一、引言 本文对FLV格式的FLV header进行简介&#xff0c;FLV文件的开头就是FLV header。 进行简介之前&#xff0c;请各位先从《音视频入门基础&#xff1a;FLV专题&#xff08;1&#xff09;——FLV官方文档下载》下载FLV的官方文档《video_file_format_spec_v10_1.pdf》和…...

python中数据处理库,机器学习库以及自动化与爬虫

Python 在数据处理、机器学习和自动化任务方面非常强大&#xff0c;它的库生态系统几乎涵盖了所有相关领域。我们将从以下几个部分来介绍 Python 中最常用的库&#xff1a; 数据处理库&#xff1a;Pandas、NumPy 等机器学习库&#xff1a;Scikit-learn、TensorFlow、Keras 等自…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

Python 高效图像帧提取与视频编码:实战指南

Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...

JDK 17 序列化是怎么回事

如何序列化&#xff1f;其实很简单&#xff0c;就是根据每个类型&#xff0c;用工厂类调用。逐个完成。 没什么漂亮的代码&#xff0c;只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...

node.js的初步学习

那什么是node.js呢&#xff1f; 和JavaScript又是什么关系呢&#xff1f; node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说&#xff0c; 需要在node.js的环境上进行当JavaScript作为前端开发语言来说&#xff0c;需要在浏览器的环境上进行 Node.js 可…...