avatar
文章
121
标签
221
分类
35

首页
文章
标签
分类
架构师
友情链接
开往
CodeTime
搜索
首页
文章
标签
分类
架构师
友情链接
开往

CodeTime

三数之和
发表于2019-11-11|算法
问题给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。LeetCode原题入口 例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]] 思路如果简单采用暴力遍历的方式,时间复杂度为$ O(n^3) $,时间上肯定无法通过。可先对数组进行排序,时间复杂度为$ O(n\log n) $,接着从数组第一个数开始遍历,在剩下的数中取2数之和,正好等于第一个数的相反数,这样3者之和正好为0。设置第一个指针遍历数组,假设遍历到的当前数为x,则要找的2数之和target=-x,由于数组已经经过排序,后面2数可再用2个指针表示,1个指向第1个数的后一个数,也就是正好大于x的数,另1个指向数组最后一位,也就是最大的那个数。计算2个指针所指向数字之和,如果结果大于target,说明结果偏大,将第2个指针向左移动;如果结果小于target,将第1个指针向右移动,使 ...
1…1213
avatar
兜兜转转
自律是最好的修行
文章
121
标签
221
分类
35
最新文章
CompletableFuture 异步编排:别让公共线程池替业务背锅2026-11-11
接口幂等性:让重试只产生一次业务结果2026-11-09
Git rebase 与 reset:先分清三个区域,再安全地改历史2026-11-09
MySQL EXPLAIN:从执行计划定位索引问题2026-11-09
一个模板搞定各种背包问题2025-07-03
标签
动态规划Leetcode算法kubernetesk8sAI人工智能深度学习Tensorflow手写数字AIGCHTTP幂等性系统设计二叉树二叉搜索树平衡二叉树数据结构AVL回溯算法力扣背包问题广度优先遍历BFSB站电影下载m4s抓取树状数组读心术
归档
  • 十一月 20264
  • 七月 20251
  • 四月 20251
  • 三月 20251
  • 三月 20241
  • 二月 20241
©2019 - 2026 By 兜兜转转
本地搜索