有序数组的排序一、暴力解法思路遍历数组对每个数组元素进行平方再用sort排序。时间复杂度O(nlog n)二、双指针解法思路如果有序数组中有负数那么这个负数平方之后就有可能比正数的平方大所以平方后最大的元素一定再数组的两边而不是中间。所以用两个指针一个指向第一个元素一个指向最后一个元素比较这两个指针所指的元素平方后哪个更大再用一个数组来存放更大的数然后指针移动。代码实现int arr[6]{-3,-2,-1,0,1,2}; int res[6]{0}; //用于存放比较好后的元素 int ksizeof(arr)/sizeof(arr[0])-1; //记录存放res数组的位置 for(int i0,jsizeof(arr)/sizeof(arr[0])-1;ij;){ ifarr[i]*arr[i]arr[j]*arr[j]){ res[k--]arr[i]*arr[i]; i; }else{ res[k--]arr[j]*arr[j]; j--; } } //返回res数组时间复杂度为O(N);(本文章是本人学完后进行整理加入了自己的理解仅供参考有不正确的地方欢迎指出)
学习---3
有序数组的排序一、暴力解法思路遍历数组对每个数组元素进行平方再用sort排序。时间复杂度O(nlog n)二、双指针解法思路如果有序数组中有负数那么这个负数平方之后就有可能比正数的平方大所以平方后最大的元素一定再数组的两边而不是中间。所以用两个指针一个指向第一个元素一个指向最后一个元素比较这两个指针所指的元素平方后哪个更大再用一个数组来存放更大的数然后指针移动。代码实现int arr[6]{-3,-2,-1,0,1,2}; int res[6]{0}; //用于存放比较好后的元素 int ksizeof(arr)/sizeof(arr[0])-1; //记录存放res数组的位置 for(int i0,jsizeof(arr)/sizeof(arr[0])-1;ij;){ ifarr[i]*arr[i]arr[j]*arr[j]){ res[k--]arr[i]*arr[i]; i; }else{ res[k--]arr[j]*arr[j]; j--; } } //返回res数组时间复杂度为O(N);(本文章是本人学完后进行整理加入了自己的理解仅供参考有不正确的地方欢迎指出)
相关文章
leetcode 1545. 找出第 N 个二进制字符串中的第 K 位-耗时100-Find Kth Bit in Nth Binary String
Problem: 1545. 找出第 N 个二进制字符串中的第 K 位-耗时100-Find Kth Bit in Nth Binary String 通过观察可以发现,算是中间对称字符串,最中间的字符一定是1,两侧的字符对称相反,所以可以使用二分查找的方式,每次n–…
Ubuntu 22.04 下,从零搞定 Legged Gym 与 Isaac Gym 的完整避坑指南(含CUDA、PyTorch版本匹配)
Ubuntu 22.04 下从零搞定 Legged Gym 与 Isaac Gym 的完整避坑指南 在机器人仿真领域,Legged Gym 和 Isaac Gym 作为两大重量级工具,为开发者提供了强大的仿真环境。然而,它们的安装过程却常常让初学者望而生畏。本文将带你一步步完成这两个工…
扫雷游戏,简单C语言实现
扫雷游戏设计与实现:从零开始打造经典小游戏一、游戏设计思路1.1 核心玩法扫雷是一款基于二维网格的逻辑推理游戏,玩家通过点击格子排查地雷。游戏规则如下:安全格:显示周围8格地雷数量(0-8)地雷格…
ContextMenuManager:重新定义Windows右键菜单的交互设计思维
ContextMenuManager:重新定义Windows右键菜单的交互设计思维 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 在数字工作流中,我们每天平均…
Spira引擎:稀疏卷积加速技术的突破与优化
1. Spira引擎:重新定义稀疏卷积加速 在自动驾驶和AR/VR领域,3D点云处理正面临前所未有的性能挑战。传统稀疏卷积(Sparse Convolution, SpC)引擎在处理体素化点云数据时,往往受限于三大瓶颈:核映射表&#x…
基于颅内脑电与机器学习的疼痛客观解码:从频带功率到功能连接
1. 项目概述:从主观评分到客观神经信号,解码疼痛的脑电密码疼痛,这个几乎每个人都体验过的复杂感受,其评估却一直是临床医学中一个令人头疼的难题。医生问“你有多疼?”,患者指着一条从0到10的线࿰…
资源约束下动态定价:边界吸引重解算法与在线学习实践
1. 项目概述:资源约束下的动态定价,一个平衡的艺术在电商大促、机票酒店预订、云资源计费这些我们每天都会接触的场景背后,都藏着一个核心的商业决策问题:如何给商品或服务定价,才能在有限的资源(比如库存、…
京东抢购脚本终极指南:3步实现茅台秒杀自动化
京东抢购脚本终极指南:3步实现茅台秒杀自动化 【免费下载链接】JDspyder 京东预约&抢购脚本,可以自定义商品链接 项目地址: https://gitcode.com/gh_mirrors/jd/JDspyder 面对京东热门商品秒杀时的手速不够快?想要在激烈的电商竞争…
OFDM同步避坑指南:STO和CFO估计,选ML还是Classen算法?看这篇就够了
OFDM同步算法实战指南:如何在高干扰环境中选择最优STO/CFO估计方案无线通信工程师在设计OFDM系统时,往往会在同步环节遇到一个关键抉择:面对复杂的信道环境和严苛的性能要求,究竟该选择哪种同步算法组合?这个问题没有标…
施工现场安全事故预警准确率达94.6%?——解密某央企AI Agent边缘计算部署架构与3个月落地实录
更多请点击: https://codechina.net 第一章:施工现场安全事故预警准确率达94.6%?——解密某央企AI Agent边缘计算部署架构与3个月落地实录 在华北某大型地铁盾构施工现场,一套轻量化AI Agent系统于2024年Q2完成全栈部署ÿ…
附录 B:术语表
本术语表面向“从 MM 到 HMM”专栏阅读过程中的快速查阅。它不是内核 API 手册,而是把文章中反复出现的概念放到同一张地图上:先给出直观含义,再说明它在 Linux MM/HMM 语境里的作用。建议阅读方式: 初读专栏时,把它当…
Midjourney渐变美学的神经渲染原理(附RGB-HSV-LCH三空间渐变映射对照表·行业首曝)
更多请点击: https://kaifayun.com 第一章:Midjourney渐变美学的神经渲染原理(附RGB-HSV-LCH三空间渐变映射对照表行业首曝) Midjourney 的渐变美学并非传统插值实现,而是由其隐式神经渲染器(Implicit Neu…
施工现场安全事故预警准确率达94.6%?——解密某央企AI Agent边缘计算部署架构与3个月落地实录
更多请点击: https://codechina.net 第一章:施工现场安全事故预警准确率达94.6%?——解密某央企AI Agent边缘计算部署架构与3个月落地实录 在华北某大型地铁盾构施工现场,一套轻量化AI Agent系统于2024年Q2完成全栈部署ÿ…
附录 B:术语表
本术语表面向“从 MM 到 HMM”专栏阅读过程中的快速查阅。它不是内核 API 手册,而是把文章中反复出现的概念放到同一张地图上:先给出直观含义,再说明它在 Linux MM/HMM 语境里的作用。建议阅读方式: 初读专栏时,把它当…
Midjourney渐变美学的神经渲染原理(附RGB-HSV-LCH三空间渐变映射对照表·行业首曝)
更多请点击: https://kaifayun.com 第一章:Midjourney渐变美学的神经渲染原理(附RGB-HSV-LCH三空间渐变映射对照表行业首曝) Midjourney 的渐变美学并非传统插值实现,而是由其隐式神经渲染器(Implicit Neu…
MPC-BE:基于DirectShow架构的专业级开源媒体播放解决方案
MPC-BE:基于DirectShow架构的专业级开源媒体播放解决方案 【免费下载链接】MPC-BE MPC-BE – универсальный проигрыватель аудио и видеофайлов для операционной системы Windows. 项目地址:…
如何快速计算3D模型体积和重量:STL-Volume-Model-Calculator终极指南
如何快速计算3D模型体积和重量:STL-Volume-Model-Calculator终极指南 【免费下载链接】STL-Volume-Model-Calculator STL Volume Model Calculator Python 项目地址: https://gitcode.com/gh_mirrors/st/STL-Volume-Model-Calculator 你是否曾经为3D打印项目…
通过Taotoken CLI工具一键配置团队开发环境与模型密钥
通过Taotoken CLI工具一键配置团队开发环境与模型密钥 1. CLI工具安装与基本使用 Taotoken提供的CLI工具可通过npm全局安装或直接使用npx运行。对于需要频繁使用CLI的团队,推荐全局安装: npm install -g taotoken/taotoken对于临时使用或项目级配置&a…