15 3Sum
2015-11-06 16:24
155 查看
与之类似的题目有
1 TwoSum
16 3Sum Closest
18 4Sum
1 TwoSum
16 3Sum Closest
18 4Sum
import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class No15 { public static void main(String[] args) { int[] nums = { -1, 0, 1, 2, -1, -4 }; System.out.println(threeSum(nums)); } public static List<List<Integer>> threeSum(int[] nums) { Arrays.sort(nums); List<List<Integer>> result = new ArrayList<List<Integer>>(); for (int i = 0; i < nums.length; i++) { int k = i + 1; int l = nums.length - 1; if (nums[i] > 0) //原先没有这两句,超时,加上这两个if后就不超时了 break; if (i > 0 && nums[i] == nums[i - 1]) continue; while (k < l) { int sum = nums[i] + nums[k] + nums[l]; if (sum < 0) k++; else if (sum > 0) l--; else { List<Integer> list = new ArrayList<Integer>(); list.add(nums[i]); list.add(nums[k]); list.add(nums[l]); if (!result.contains(list)) result.add(list); k++; l--; } } } return result; } }
相关文章推荐
- [机器学习] 看了一下KNN的介绍,那么动手做一个简单的例子
- cron表达式
- js获取url的参数值
- PrestaShop 网站后台配置(三)
- applicationContext.xml
- oracle 常用命令
- vi命令,替换操作,文本格式转换,在整个文件中替换,在行首尾添加字符串
- Assigning to ‘ d<xxxxDelegate>' from incompatible type ‘xxViewController *const __strong'
- 分页处理
- HTTP协议及请求/响应模型
- eclipse无法删除集群上的数据
- Java用ScriptEngine解析脚本
- dwz dialog中删除或单击某按钮刷新dialog
- struts2拦截器 简单了解
- 汇编helloworld程序
- [Ocean Modelling for Begineers] Ch4. Long Waves in a Channel
- spring-webservice.xml
- Nginx缩略图和Fastdfs整合以及image_filter配置,7点经验结论和5个参考资料
- 简单使用Disruptor
- Oracle数据库、实例、用户、表空间、表之间的关系