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

前端网站开发框架沈阳大型网站设计公司

前端网站开发框架,沈阳大型网站设计公司,湖南建筑一体化平台,龙华网站建设全包【数据结构学习笔记】选择排序 参考电子书#xff1a;排序算法精讲 算法原理 首先在未排序序列中找到最小#xff08;大#xff09;元素#xff0c;存放到排序序列的起始位置#xff0c;然后#xff0c;再从剩余未排序元素中继续寻找最小#xff08;大#xff09;元…【数据结构学习笔记】选择排序 参考电子书排序算法精讲 算法原理 首先在未排序序列中找到最小大元素存放到排序序列的起始位置然后再从剩余未排序元素中继续寻找最小大元素然后放到已排序序列的末尾。以此类推直到所有元素均排序完毕 const nums [1, 4, 6, 2, 0];let minIndex; for (let i 0; i nums.length; i) {minIndex i;for (let j i 1; j nums.length; j) {if (nums[j] nums[minIndex]) {minIndex j;}}const temp nums[i];nums[i] nums[minIndex];nums[minIndex] temp; }时间复杂度O(n^2)空间复杂度O(1) 优化方式 当 i nums.length - 1 时j nums.length 直接跳出循环因此可以跳过 const nums [1, 4, 6, 2, 0];let minIndex; for (let i 0; i nums.length - 1; i) {minIndex i;for (let j i 1; j nums.length; j) {if (nums[j] nums[minIndex]) {minIndex j;}}const temp nums[i];nums[i] nums[minIndex];nums[minIndex] temp; }如果 minIndex 没有变就跳过交换 const nums [1, 4, 6, 2, 0];let minIndex; let swapped; for (let i 0; i nums.length; i) {minIndex i;swapped false;for (let j i 1; j nums.length - i; j) {if (nums[j] nums[minIndex]) {minIndex j;swapped true;}}if (!swapped) continue;const temp nums[i];nums[i] nums[minIndex];nums[minIndex] temp; }记录最小值的同时记录最大值在排序到中间部分就会有序 const nums [1, 4, 6, 2, 0];let minIndex; let maxIndex; let swapped; for (let i 0; i nums.length; i) {minIndex i;maxIndex i;swapped false;for (let j i 1; j nums.length - i; j) {if (nums[j] nums[minIndex]) {minIndex j;swapped true;}if (nums[j] nums[maxIndex]) {maxIndex j;swapped true;}}if (!swapped) continue;const temp nums[i];nums[i] nums[minIndex];nums[minIndex] temp;if (maxIndex i) maxIndex minIndex;temp nums[nums.length - 1 - i];nums[nums.length - 1 - i] nums[maxIndex];nums[maxIndex] temp; }相关例题 LC 215.数组中的第 k 个最大元素 给定整数数组 nums 和整数 k请返回数组中第 k 个最大的元素。 请注意你需要找的是数组排序后的第 k 个最大的元素而不是第 k 个不同的元素。 /*** param {number[]} nums* param {number} k* return {number}*/ var findKthLargest function(nums, k) {let maxIndex;let maxIndexes [];while(k-- 0) {maxIndex -1;for (let i 0; i nums.length; i) {if (maxIndexes.includes(i)) continue;if (maxIndex -1) {maxIndex i;continue;}if (nums[i] nums[maxIndex]) {maxIndex i;}}maxIndexes.push(maxIndex);}return nums[maxIndexes[maxIndexes.length - 1]]; };受限于 Leetcode 更新了测试用例此题用选择排序会出现超时但是算法思想不变即可
http://www.hkea.cn/news/14392133/

相关文章:

  • 邯郸建设局公开网站公司网站建立教程
  • 东城网站建设公司360建站公司
  • 百度注册新账号seo搜索引擎优化什么意思
  • 建设论坛网站步骤百度开发者
  • 微网站如何做微信支付宝支付宝支付宝在设计赚钱的网站
  • 设计制作个人网站地产网站建设方案
  • 公司网站怎么做网站备案珠海建设局网站首页
  • 手机网站怎么搜索引擎网站开发视频会议插件
  • 廊坊哪里有做网站的seo网站优化推广教程
  • 临沂百度网站推广做网站专业公司
  • 大型网站建设网站推广汽车网站排行榜前十名
  • 成都哪家网站建设强电商网站设计的原则
  • 网站开发著作权微信公众号怎么做网站链接
  • 科技公司建设网站百度推广建设网站是不是合发
  • 一流的南昌网站建设wordpress模板手机
  • 建设一个网站需要什么技术指标qq音乐插件 wordpress
  • 网站开发与管理心得体会山西住房建设厅官方网站
  • 北京低价网站建设怎么样用ps做网站
  • 网站建设的案例沈阳建设网站服务公司
  • 网站建设教程网北京网站设计公司哪儿济南兴田德润简介
  • 网站开发怎么对接客户app开发公司介绍
  • 合肥平台网站建设网站建设简介电话
  • 外贸网站 源怎么查网站是用什么语言做的
  • 网站下载工具天津网站建设论坛
  • 建筑工程网站监理答案广告设计好学吗难不难
  • 深圳极速网站建设费用百度全静态生成技术
  • 保险网站有哪些平台公司网站开发的核心技术
  • 萧山做网站公司山东网站建设运行工资
  • 上海网站开发定制泉州网站优化
  • 旅游建设投资公司中网站福州搜索排名提升