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

电子开发网站网站建设 图纸网

电子开发网站,网站建设 图纸网,全新的装修设计,net网站开发net网站开发排序数组 首先对数组进行升序排序,方便后续使用双指针法。 排序的时间复杂度为 O(n log n)。遍历数组 遍历数组中的每个元素 nums[i],将其作为三元组中的第一个元素。 如果当前元素与前一个元素相同(nums[i] nums[i - 1])&#x…
  1. 排序数组
    首先对数组进行升序排序,方便后续使用双指针法。
    排序的时间复杂度为 O(n log n)。
  2. 遍历数组
    遍历数组中的每个元素 nums[i],将其作为三元组中的第一个元素。
    如果当前元素与前一个元素相同(nums[i] === nums[i - 1]),跳过,避免重复三元组。
  3. 双指针查找
    使用双指针法查找剩余两个元素,使得三者之和为 0。
    left 指向当前元素右侧的第一个元素。
    right 指向数组末尾。
    通过调整 left 和 right 的位置,找到满足条件的三元组。
  4. 判断三数之和
    如果 sum === 0,找到一个符合条件的三元组,将其加入结果数组。
    为了避免重复结果,跳过相同的 left 和 right 值。
    然后移动 left 和 right 指针,继续查找。
    如果 sum < 0,说明当前和太小,需要增大 left 指针。
    如果 sum > 0,说明当前和太大,需要减小 right 指针。
function threeSum(nums) {nums.sort((a, b) => a - b);const result = [];for (let i = 0; i < nums.length - 2; i++) {if (i > 0 && nums[i] === nums[i - 1]) continue;let left = i + 1, right = nums.length - 1;while (left < right) {const sum = nums[i] + nums[left] + nums[right];if (sum === 0) {result.push([nums[i], nums[left], nums[right]]);while (nums[left] === nums[left + 1]) left++;while (nums[right] === nums[right - 1]) right--;left++;right--;} else if (sum < 0) left++;else right--;}}return result;
}
http://www.dtcms.com/a/455388.html

相关文章:

  • 现在的网站用什么程序做网站空间域名能不能自己续费
  • 网站内页检测线上教学网站怎么建设
  • 自媒体素材视频网站p2p的网站建设
  • 室内设计素材网站大全如何注册或购买一个域名使用
  • 2014苏州建设银行招聘网站答题网站怎么做
  • 像淘宝类别网站怎么做网站后台怎么进入wordpress
  • 法治建设优秀网站企业网站建设周期
  • 龙华网页设计公司网站郑州seo排名公司
  • 青岛做网站找哪家好购物网站二级店铺mvc
  • 网站建设培训方案顺德o2o网站建设
  • 网站建设需要那些基础大龄程序员都干啥去了
  • 响应式网站建设源码广州本地新闻
  • 网站建设资质要求怎样开发一个微信公众号
  • 网站建设的维护工作大连装修公司排名前十强
  • 做企业网站设计手机站常用的网站开发
  • 电商网站需要多少钱八旬老太做直播 什么网站
  • 广告资源网郑州seo关键词推广
  • 成都网站制作软件如何使用wordpress搭建网站
  • asp网站后台管理教程网站灰色 代码
  • 怎么通过所有的网站推广广告江苏网站开发电话
  • Random.setSeed 参数为特定值的介绍与修复方案
  • 辽宁工程建设信息网网站优秀全屏企业网站
  • 怎样使用网站模板做公司网站都需要哪些东西
  • 餐饮网站设计公司装修公司需要多少钱
  • 奉贤网站制作网站设计一般包括网站结构设计
  • 建设网站需要花费什么费用商标设计注意事项
  • 天河建设网站报价小程序找不到怎么办
  • 服务专业的网站开发设计卖机票的网站怎么做
  • 天津 建设执业资格注册中心网站搜狗短链接生成
  • 官网做的好看的网站有哪些苏州有哪些做网站