博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] SUM4
阅读量:4478 次
发布时间:2019-06-08

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

Given an array S of n integers, are there elements abc, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of target.

Note:

  • Elements in a quadruplet (a,b,c,d) must be in non-descending order. (ie, a ≤ b ≤ c ≤ d)
  • The solution set must not contain duplicate quadruplets.

For example, given array S = {1 0 -1 0 -2 2}, and target = 0.    A solution set is:    (-1,  0, 0, 1)    (-2, -1, 1, 2)    (-2,  0, 0, 2)

和sum3 差不多,枚举a ,b  再 解 c+d 的定值的问题。 

 写的时候漏了一些小地方, continue 之前要 改变p,q .

class Solution {private:	vector
> ret;public: vector
> fourSum(vector
&num, int target) { // Start typing your C/C++ solution below // DO NOT write int main() function ret.clear(); sort(num.begin(),num.end()); for(int i = 0; i < num.size() ; i++) { if( i > 0 && num[i] == num[i-1]) continue; for( int j = i+1; j < num.size() ; j++) { if( j > i+1 && num[j]==num[j-1]) continue; int p = j + 1; int q = num.size() -1; while( p < q) { if( p > j + 1 && num[p] == num[p-1]) { p++; continue; } if( q < num.size() -1 && num[q] == num[q+1]) { q--; continue; } int sum = num[i] + num[j] + num[p] + num[q]; if(sum==target) { vector
tmp; tmp.push_back(num[i]); tmp.push_back(num[j]); tmp.push_back(num[p]); tmp.push_back(num[q]); ret.push_back(tmp); p++; }else if(sum > target) { q--; }else { p++; } } } } return ret; }};

转载于:https://www.cnblogs.com/shalk/archive/2012/11/05/9769660.html

你可能感兴趣的文章
js操作table
查看>>
JQuery学习系列篇(一)
查看>>
Centos7 minimal 系列之rabbitmq安装(八)
查看>>
英语语法(2)----点破主谓宾系表三大句型
查看>>
html如何与cgi数据交换,HTML网页与CGI之间通信的 实例分析
查看>>
html如何调用flash插件,htmlflash播放器插件如何播放 网页播放器flash插件怎么解决...
查看>>
mysql数据在html上面显示不出来的,HTML表格不能正确显示MySQL数据
查看>>
数据包和html,数据包和数据报有何区别?
查看>>
jq 异步调用一个html,聊聊如何将jQuery的$.ajax()用于异步HTTP请求
查看>>
html导出excel多sheet,js 导出多sheet表格
查看>>
html日期函数,我所见过的最简短、最灵活的javascript日期转字符串工具函数
查看>>
flann matlab,FLANN 快速的(近似)最近邻开源库
查看>>
pmta linux视频,PowerMTA (PMTA) 的安装和设置方法 – 黄忠 – 博客
查看>>
2016秋季C语言程序设计试题,2016c语言程序设计模拟试题
查看>>
C语言编程初体验 作文,C语言作文件操常用代码
查看>>
rar for android去广告,安卓解压神器RAR v5.30.39 去广告版
查看>>
android p什么变化,Android P预览版,这些调整和变化最值得关注
查看>>
android 7.0宽度432,全球最小的4G手机,比手掌还小,安卓7.0
查看>>
android fragmentstatepageradapter框架,Android FragmentStatePagerAdapter
查看>>
html自适应meta标签,自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结...
查看>>