
<LeetCode>三数之和----利用哈希表和两数之和解题
��������������������������������������������������������������������������������������������������������������������� ���������������������������������������������������������������������������������������num��������������������������������������������������������������������������� -num��� ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ ������������������������������������������������������������������������������������������������������������������������ ��������������������������������������������������������������������������������������������������������������� ������������������������������������������������������������������������������������������������������������������������������������������������ ��������������������������������������������������������������������� ������������������������������������������������ ��������������������������������������������������������������������������������������������������� ��������������� ��������������������������������������������������������������������������������������������������������������������������������� ������������������������������������������������������������������������������������������������������������������������������������������������ ��������������������������������������������� ������������������������������������������������������������������������������������������������ ��������������������������������������������������������������������� ������������������������������������������������������������������������������������������������������ ������������������������������������������������������ ��������������������������������������������������������������������������������������������������������������������������������������������������������� ���������������������������������������������������������������������������������������������������������������
发布日期:2021-05-10 20:18:36
浏览次数:16
分类:精选文章
本文共 5146 字,大约阅读时间需要 17 分钟。
������������������������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������������
��������������������������������� O(n^2)���������������������������������������������������������������������������
������������������
nums[i]
������������������������num��������������������� num���������������������������������������������������������������������������������������i + 1
������������������������������������������ nums.length - 1
������������������������������������������������������������������������������������������target = -num
������������������������������������������������������������������������������������������- ������������������������������������������������������������������������������������i++������������������
- ���������������������������������������������������������������������������������j--������������������
������������������������������������������������������������������������������������������������������������
������������
- ���������������������������������������������������������������������������������������������������������������������������������������������������
- ������������������������������������������������������ O(n^2)���������������������������������������������������������������������������
- ������������������������������������������������������������������������������������������������������������������
������������
import java.util.ArrayList;import java.util.List;public class Solution { public List
> threeSum(int[] nums) { List
> llist = new ArrayList<>(); int len = nums.length; if (len < 3) { return llist; } Arrays.sort(nums); for (int i = 0; i < len; i++) { if (nums[i] > 0) { break; } if (i > 0 && nums[i] == nums[i - 1]) { continue; } int target = -nums[i]; int L = i + 1; int R = len - 1; while (L < R) { int sum = nums[L] + nums[R]; if (sum == target) { llist.add(new ArrayList<>()); llist.add(nums[i]); llist.add(nums[R]); llist.add(nums[R]); L++; R--; } else if (sum < target) { L++; } else { R--; } } } return llist; }}
������������
llist
���������������������������������3������������������������������������������������������������3���������������������������nums[i]
������������������������������������������i + 1
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月14日 18时37分39秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
JavaScript实现表格排序
2021-05-10
vue散碎知识点学习
2021-05-10
git拉取远程指定分支代码
2021-05-10
C语言--C语言总结大纲
2021-05-10
JavaFX官方文档
2021-05-10
ORA-12154: TNS: 无法解析指定的连接标识符
2021-05-10
In App Purchase Verification using PHP
2021-05-10
shell编程===》进程锁
2021-05-10
Split返回数组元素含有空字符串移除
2021-05-10
解决VS中C语言运行scanf错误
2021-05-10
idea上的程序报错-> 错误: 找不到或无法加载主类
2021-05-10
java刷题--49字母异位词分组
2021-05-10
《web安全入门》(四)前端开发基础Javascript
2021-05-10
call_user_func函数和call_user_func_array函数
2021-05-10
配置php.ini文件,关闭错误提示,打开错误日志,设置错误日志路径
2021-05-10
接收get或post数据使用fwrite写入文件中,方便追踪错误;或其他几种缓存方式
2021-05-10
Window平台Grpc框架搭建
2021-05-10
C中几道位运算的例题
2021-05-10
python入门(二)基础知识
2021-05-10