博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode 4Sum
阅读量:5151 次
发布时间:2019-06-13

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

先来一个暴力解:

class Solution {public:    vector
> fourSum(vector
&num, int target) { vector
> res; vector
r; r.resize(4); sort(num.begin(), num.end()); int len = num.size(); for (int i=0; i
= 0 && psum > target) break; if (j!=i+1 && num[j] == num[j-1]) continue; // skip dup r[0] = num[i], r[1] = num[j]; int ptarget = target - psum; int p = j+1; int q = len - 1; while (p < q) { if (num[p] >= 0 && num[p] > ptarget) break; if (num[q] < 0 && num[q] < ptarget) break; if (p != j+1 && num[p] == num[p-1]) { // skip dup p++; continue; } if (q != len-1 && num[q] == num[q+1]) { // skip dup q--; continue; } int s = num[p] + num[q]; if (s < ptarget) { p++; } else if (s > ptarget) { q--; } else { r[2] = num[p]; r[3] = num[q]; res.push_back(r); p++, q--; } } } } return res; }};

有些快速跳出的语句加了反而更慢。

第二轮:

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)
class Solution {public:    vector
> fourSum(vector
&num, int target) { sort(num.begin(), num.end()); vector
> res; int len = num.size(); if (len < 4) { res; } for (int i=0; i
({num[i], num[j], num[p], num[q]})); } p++; } else if (t > rest) { q--; } else { p++; } } } } return res; }};

 

转载于:https://www.cnblogs.com/lailailai/p/3667916.html

你可能感兴趣的文章
Count and Say
查看>>
ASP.NET
查看>>
设计模式01:统一建模语言UML基础知识
查看>>
安装Mycat 曾经踩的那些坑
查看>>
Git
查看>>
aar的使用(module或者library)
查看>>
模板—慢速乘
查看>>
C#第四节课
查看>>
【转】IOS调试技巧:当程序崩溃的时候怎么办 iphone IOS
查看>>
哪些听起来很牛逼的互联网理念!
查看>>
git操作
查看>>
USACO 2.2 Party Lamps 【高能等效+规律枚举】
查看>>
USACO 2.4 Overfencing 【种子染色法+递推】
查看>>
周报_2012第15周(2012/04/08-2012/04/14)
查看>>
SQL查询的几种方式
查看>>
php学习笔记
查看>>
MySql数据库迁移图文展示
查看>>
CSS :before 伪元素
查看>>
SSH
查看>>
ASP.Net TextBox只读时不能通过后台赋值取值
查看>>