博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 15. 3Sum 16. 3Sum Closest 18. 4Sum
阅读量:6566 次
发布时间:2019-06-24

本文共 1286 字,大约阅读时间需要 4 分钟。

n数求和,固定n-2个数,最后两个数在连续区间内一左一右根据当前求和与目标值比较移动,如果sum<target,移动较小数,否则,移动较大数

重复数处理:

使i为左至右第一个不重复数:while(i != 0 && i<n-2 && a[i] == a[i-1]) i++;

使r为右至左第一个不重复数(原序最后一个):while(r>i && r+1<n && a[r] == a[r+1]) r--;

15. 3Sum

class Solution {public:    vector
> threeSum(vector
& nums) { sort(nums.begin(), nums.end()); vector
> ans; int n = nums.size(); vector
&a = nums; for(int i=0; i
i && r+1

16. 3Sum Closest

class Solution {public:    int threeSumClosest(vector
& nums, int target) { sort(nums.begin(), nums.end()); int n = nums.size(); int mind = INT_MAX, ans = 0; vector
&a = nums; for(int i=0; i

 

18. 4Sum

class Solution {public:    vector
> fourSum(vector
& nums, int target) { vector
&a = nums; sort(a.begin(), a.end()); vector
> ans; int n = a.size(); if(n < 4) return ans; for(int i=0; i
j && r+1

 

转载于:https://www.cnblogs.com/huwtylv/p/9398303.html

你可能感兴趣的文章
centos7.3 安装ovirt-engine4.0 版本
查看>>
Jenkins+git+tomcat 自动化持续部署
查看>>
项目log日志打印
查看>>
Openstack的环境的Mitaka部署环境服务,实例(1)
查看>>
文档的压缩与打包
查看>>
python3 在不同操作系统安装第三方库方法
查看>>
redhat5.8+mfs(提供软件包文档)
查看>>
python编写登录接口
查看>>
MySQL高可用方案之多级复制
查看>>
OVS 中的各种网络设备 - 每天5分钟玩转 OpenStack(128)
查看>>
Python火车票代码
查看>>
Android开发者指南(7) —— App Install Location
查看>>
Trafficserver Cluster模式
查看>>
亚马逊推出 Blox,用于 EC2 容器服务的开源工具集合
查看>>
Linux:在中国没有真正的新闻
查看>>
iOS推送功能极光推送的介绍与实现
查看>>
单用户模式与grub加密
查看>>
Chromium Graphics: 3D上下文及其虚拟化 - Part I
查看>>
jquery javascript获得网页的高度和宽度
查看>>
2019 -2-15 复习
查看>>