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

学习---3

有序数组的排序:

一、暴力解法:

思路:遍历数组,对每个数组元素进行平方,再用sort排序。

时间复杂度:O(nlog n)

二、双指针解法:

思路:如果有序数组中有负数,那么这个负数平方之后就有可能比正数的平方大,所以平方后最大的元素一定再数组的两边,而不是中间。所以用两个指针,一个指向第一个元素,一个指向最后一个元素,比较这两个指针所指的元素平方后哪个更大,再用一个数组来存放更大的数,然后指针移动。

代码实现:

int arr[6]={-3,-2,-1,0,1,2}; int res[6]={0}; //用于存放比较好后的元素 int k=sizeof(arr)/sizeof(arr[0])-1; //记录存放res数组的位置 for(int i=0,j=sizeof(arr)/sizeof(arr[0])-1;i<=j;){ if(arr[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);

(本文章是本人学完后进行整理,加入了自己的理解,仅供参考,有不正确的地方欢迎指出!)

http://www.jsqmd.com/news/567126/

相关文章:

  • 如何快速安装webMAN-MOD:PS3全能插件终极指南
  • AI赋能构思与实现:在快马平台协同设计智能旅行推荐Agent Skill
  • 深入PSINS工具箱:手把手教你自定义卡尔曼滤波器状态与观测模型(以15状态为例)
  • 鲁班猫3网络连接问题解决记录(主机名直连)
  • 新手友好:基于快马平台快速上手dhnvr416h-hd设备数据监控开发
  • Intv_AI_MK11可视化设计工具链:从Visio流程图到AI可理解的需求文档
  • MySQL IF 和 IFNULL 用法详解
  • 抢抓AI发展红利,钧略AIGEO助力企业高效获客 - 企业推荐官【官方】
  • springboot+vue基于web的线上超市团购系统的设计与实现
  • AI安全:从技术加固到体系化防御的实战演进
  • 别再只查基因列表了!深度解析MSigDB中Hallmark基因集的生物学意义与科研应用场景
  • 实战react项目:基于快马ai快速构建包含图表与导航的用户数据仪表盘
  • 字符串(字符数组) 速览功能
  • 优先选择钧略AI:携手合作伙伴,共拓AI搜索优化新未来 - 企业推荐官【官方】
  • PDF转Markdown神器MinerU 2.5:支持多栏、表格、公式,效果实测
  • OpCore-Simplify:从3天到15分钟的黑苹果配置革命
  • springboot+vue基于web的咖啡点单程序设计
  • 实战应用:基于编译原理,利用快马AI构建你的首个代码压缩工具
  • 「Elasticsearch 底层原理与性能调优全攻略」
  • ArcGIS Desktop图例设置避坑指南:为什么你的图例总对不齐?从布局视图到符号系统的全流程解析
  • 扎根合肥,老钱全屋定制工厂以实力服务万家 - 企业推荐官【官方】
  • Alibaba DASD-4B Thinking 对话工具与.NET生态集成:开发企业级智能应用
  • 让Agent真正“行动”起来,Agent Skill开发者大赛正式启动!
  • 别再只看CPU跑分了!用Stream实测内存带宽,教你给服务器/PC内存性能“把把脉”
  • 京东科技重磅发布ClawTip,为AI Agent生态打造新型支付基础设施
  • 用C语言实现唐诗输入输出
  • 轻断食期间吃什么代餐不掉肌肉?2026年五款低脂减脂代餐产品实测与选购建议 - 企业推荐官【官方】
  • 软件测试员避坑指南:从‘不可复现的Bug’上报到‘风险测试’实战
  • Topologically Advanced Ultrahigh-Q Guided Reson...
  • 通义千问3-VL-Reranker-8B效果惊艳:文化符号(如‘龙’‘灯笼’)跨模态语义理解