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

笔试算法题思路

1. 两数之差的和

题目:定义一种计算f([4,2,0])=8,计算方式为求两两数之差的绝对值再加起来,(4-2)+(4-0)+(2-0)=8。
简单思路:两层循环,计算每两个数间的差值,时间复杂度 O ( n 2 ) O(n^2) O(n2)
进阶思路:长度为n的数组,每个数都要计算n-1次。但这n-1次中作为被减数和减数的次数是不同的,例如,若是数组中最小的数,那会作n-1次减数,第二小的数会作1次被减数和n-2次减数。如此,我们先将数组排序(升序),result+=nums[i]*i,result-=nums[i]*(n-i-1),那nums[i]的n-1次计算已完成。排序时间复杂度 O ( n ∗ l o g ( n ) ) O(n*log(n)) O(nlog(n)),遍历时间复杂度 O ( n ) O(n) O(n),最终时间复杂度 O ( n ∗ l o g ( n ) ) O(n*log(n)) O(nlog(n))

相关文章:

  • 让浏览器AI起来:基于大模型Agent的浏览器自动化工具
  • 06、ElasticStack系列,第六章:elasticsearch设置密码
  • MinkowskiEngine安装(CUDA11.8+torch2.0.1+RTX4070TI)
  • 挖矿病毒实战分析
  • 题海拾贝:【枚举】P2010 [NOIP 2016 普及组] 回文日期
  • stm32单片机个人学习笔记16(SPI通信协议)
  • Unity游戏制作中的C#基础(1)界面操作基础
  • 25旅游管理研究生复试面试问题汇总 旅游管理专业知识问题很全! 旅游管理复试全流程攻略 旅游管理考研复试真题汇总
  • 谈谈对线程的认识
  • 23.2 HtmlDocument类
  • 算法1-4 数楼梯
  • 007 HBuilderX提示IDE service port disabled. To use CLI Call, open IDE
  • 程序代码篇---Python参数管理
  • Spring统一功能处理:拦截器、响应与异常的统一管理
  • PT8023W 单触控双输出 LED 调光 IC
  • 交友项目-交友软件简介
  • 将maya模型物体材质转化为面材质
  • SHELL32!Shell_MergeMenus函数分析
  • Plant Simulation培训教程-双深堆垛机立库仿真模块
  • AI赋能编程:PyCharm与DeepSeek的智能开发革命
  • 济南一医院救护车未执行紧急任务时违规鸣笛
  • 鸿蒙电脑正式发布,国产操作系统在个人电脑领域实现重要突破
  • “打铁”热邂逅江南水乡,长三角首个国际级铁三赛事有何不同
  • 永久基本农田竟沦为垃圾场,湖南湘潭回应:全面启动专项整治
  • 罗马教皇利奥十四世正式任职
  • 解放日报:“感觉全世界人都在上海买买买”