【leetcode】第15题:3sum(medium)
来源:互联网 发布:查询产品价格软件 编辑:程序博客网 时间:2024/05/06 11:20
题目如下:
代码如下:
package com.leetcode;import java.util.ArrayList;import java.util.Arrays;import java.util.Iterator;import java.util.List;public class Solution14 {public static List< List< Integer >> threeSum(int [ ] nums){//先将数组排序Arrays.sort(nums);List<List< Integer >> list = new ArrayList<List< Integer >>();for(int i = 0; i< nums.length; i++){if(i == 0||(i > 0 && nums[ i ] != nums[ i-1] )){int low = i+1, high = nums.length-1, sum = 0-nums[i];while(low<high){if( nums[low] + nums[high] == sum){list.add(Arrays.asList( nums[i], nums[low], nums[high]));//判断下一个元素是否和这个元素相同,如果相同就继续low++遍历,这就是为什么药排序的原因//排完序后相同的元素都在一起while( low < high && nums[ low ] == nums[ low+1 ]) low++;while(high > low && nums[ high ] == nums[high-1] ) high--;low++;high--;//判断向前的和是否小于sum,如果小了,那么就是nums[low]小了} else if( nums[low] + nums[high] < sum ){low++;//反之就是high大了}else{ high--;}}}}return list;}public static void main(String[] args) {// TODO Auto-generated method stubint[ ] nums = {-1, 0 ,1, 2, -1, -4};List< List< Integer >> list = Solution14.threeSum(nums);Iterator it = list.iterator();for(int i = 0; i< list.size() ; i++){System.out.println(list.get(i));}}}
0 0
- 【leetcode】第15题:3sum(medium)
- [Leetcode 15, medium] 3 Sum
- LeetCode-15-3Sum(证明/KSum)-Medium
- LeetCode OJ 15 3Sum [Medium]
- Medium 15题 3Sum
- [LeetCode] 015--3Sum --Medium--
- LeetCode 15. 3Sum (Medium)
- [Leetcode 16, Medium] 3Sum Closest
- Leetcode 16. 3Sum Closest (Medium) (cpp)
- Leetcode 15. 3Sum (Medium) (cpp)
- Leetcode 15. 3Sum (Medium) (java)
- Leetcode 16. 3Sum Closest (Medium) (java)
- Leetcode 259. 3Sum Smaller (Medium) (cpp)
- Leetcode: 15. 3Sum(Week3,Medium)
- Leetcode: 16. 3Sum Closest(Week5, Medium)
- 【leetcode】Two Sum(medium)
- leetcode 第15题 <3Sum>(java)
- leetcode 第15题 3Sum
- 3357: [Usaco2004]等差数列|DP
- View与ViewGroup的区别与联系及自定义ViewGroup
- ActionMQ中文指南
- Azure Event hub usage
- MVP与MVC的区别 in Android
- 【leetcode】第15题:3sum(medium)
- java微信支付开发中遇到的各种问题,微信官方的DEMO就是一个坑
- Linux启动/停止/重启Mysql数据库的方法
- 关于iOS多线程
- iOS中的日期时间
- 字符串的组合
- 三分法——凸函数求极值问题
- linux下使用uuencode+mail发送附件
- asp.net获取网站绝对路径示例