15 3Sum
2015-12-01 16:33
204 查看
class Solution { public: vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<int>> ans; int n=nums.size(); if(n<3){ return ans; } sort(nums.begin(),nums.end()); for(int p=0;p<n-2;++p){ if(p>0&&nums[p]==nums[p-1]) continue; int left=p+1; int right=n-1; while(left<right){ int m=nums[left]+nums[p]+nums[right]; if(m==0){ vector<int> temp; temp.push_back(nums[p]); temp.push_back(nums[left]); temp.push_back(nums[right]); ans.push_back(temp); left++; right--; while(left<right&&nums[left]==nums[left-1]){ left++; } while(left<right&&nums[right]==nums[right+1]){ right--; } }else if(m<0){ left++; while(left<right&&nums[left]==nums[left-1]){ left++; } }else{ right--; while(left<right&&nums[right]==nums[right+1]){ right--; } } } } return ans; } };
相关文章推荐
- SpringMVC + poi 导出excel表格
- Fork/Join背景与设计理念
- dbms_sql包的用法
- JVM学习笔记(一)------基本结构
- 设置editText的四周边框-圆角边框
- 0px<div>的妙用
- C++88个注意点子之41~50
- KVO实现原理
- Silverlight操作客户端注册表(优化)(OOB模式)
- getActivity返回null
- MySQL数据库的初始化mysql_install_db
- slf4j—-
- 杨辉三角
- [转] Mysql 数据库引擎
- jQuery-1.9.1源码分析系列(十二) 筛选操作
- Core Data 中涉及的基本对象简介(概念)
- 几个基础的排序算法的要点
- 练手小程序(四)
- log4j的应用及配置
- Nim 中的 streams 模块