3Sum
来源:互联网 发布:mysql创建表error1064 编辑:程序博客网 时间:2024/04/20 15:02
public class Solution { public ArrayList<ArrayList<Integer>> threeSum(int[] num) { // Start typing your Java solution below // DO NOT write main() function if(num==null||num.length<3)return new ArrayList<ArrayList<Integer>>(); int len = num.length; Arrays.sort(num); ArrayList<ArrayList<Integer>> ret = new ArrayList<ArrayList<Integer>>(); for(int i = 0; i < len-2;i++){ if(num[i]>0) break; int mid = i+1; int right = len-1; int sum = -num[i]; while(mid<right){ if(num[mid]+num[right]>sum)right--; else if(num[mid]+num[right]==sum){ ArrayList cur = new ArrayList(); cur.add(num[i]);cur.add(num[mid]);cur.add(num[right]); if(!ret.contains(cur)) ret.add(cur); //while(right>0&&num[right-1]==num[right])right--; //while(mid<len-1&&num[mid+1]==num[mid])mid++; mid++;right--; } else mid++; } while(i<len-2&&num[i+1]==num[i])i++; } return ret; }}
若判断是否存在 要用1852毫秒
直接判断mid和right是否重复不用contains判断要800毫秒。
- Two Sum && 3 Sum
- 【Leetcode】3Sum (Sum)
- 3Sum 3Sum Closest 4Sum
- 3Sum & 3Sum Closest & 4Sum
- 3sum、3Sum closet、 4sum
- 3Sum, 3Sum Closest, 4 Sum
- leetcode 2 sum 3sum 4sum
- 2Sum 3Sum 4Sum
- Leetcode 2SUM-3SUM-4SUM
- Leetcode-2sum,3sum,4sum
- leetcode 2 sum & 3 sum & 4 sum
- 3Sum
- 3SUM
- 3-sum
- 3Sum
- 3Sum
- 3Sum
- 3Sum
- Android构建工具:Buck: An Android build tool
- sax解析xml时startElement没被调用!
- IE浏览器BUG:url初次用中文赋值会出现乱码
- Android中的软件列表_点击启动另外一个程序
- 网络挣钱之软件推广、设置主页
- 3Sum
- 在Linux下查看端口的使用情况及启动
- TECHNETCAL日本免费空间今日崩溃
- 利用sql语句得到表的字段名
- 在Android C/C++层添加LOG调试(LOGI\LOGD\LOGE...)输出支持
- 关于多次颁发ios开发证书后,真机调试的错误问题解决
- UVA11401(Triangle Counting)
- 用JAVA中的多线程示例火车站售票问题
- 多位数处理