avatar
一秒钟变格格# pets - 心有所宠
g*j
1
基本思路就是,先把两个的和存起来,并且把相应的index pair存到对应的直的map里
面去。
然后再把所有的两个的和和target的差算出来,去map里面找,因为map里面同样保存了
签名的数字的index,所以,只要后面两个数的最小的index比已有的最大的index大的
时候,就能保证不重复了。
可惜small set 15个总有一个不过,而且,因为显示问题,看不到哪个不过。哪个大侠
帮我看看代码?
class Solution {
public:
vector > fourSum(vector &num, int target) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int n = num.size();
vector > results;
if(n <= 3) return results;
map > > myMap;
map > >::iterator iter;

for(int i = 0; i < n; i++) {
for(int j = i+1; j < n; j++) {

int sum = num[i] + num[j];

iter = myMap.find(sum);

if(iter == myMap.end()) {
vector > newPair;
newPair.push_back(pair(i, j));
myMap[sum] = newPair;

} else {

(iter->second).push_back(pair(i, j));
}
}
}


for(int i = 0; i < n; i++) {
for(int j = i+1; j < n; j++) {

int sum = target - num[i] - num[j];

iter = myMap.find(sum);

if(iter != myMap.end()) {

vector > pairs = iter->second;
int size = pairs.size();
for(int k = 0; k < size; k++) {

if(i > pairs[k].second) {

vector entry;

entry.push_back(num[i]);
entry.push_back(num[j]);
entry.push_back(num[pairs[k].first]);
entry.push_back(num[pairs[k].second]);
sort(entry.begin(), entry.end());

results.push_back(entry);
}
}
}
}
}

return results;
}
};
avatar
F*k
2
她娘手机传过来的,廖解我这个干妈的相思之苦
我一看,这不赤果果的虐待么!看看我以前是肿么对待丫头滴~
avatar
g*j
3
大家别讨论无聊的话题了,帮我看看程序呀

【在 g***j 的大作中提到】
: 基本思路就是,先把两个的和存起来,并且把相应的index pair存到对应的直的map里
: 面去。
: 然后再把所有的两个的和和target的差算出来,去map里面找,因为map里面同样保存了
: 签名的数字的index,所以,只要后面两个数的最小的index比已有的最大的index大的
: 时候,就能保证不重复了。
: 可惜small set 15个总有一个不过,而且,因为显示问题,看不到哪个不过。哪个大侠
: 帮我看看代码?
: class Solution {
: public:
: vector > fourSum(vector &num, int target) {

avatar
l*h
4
呦呵,这一对比发现变化还真大
avatar
g*j
5
知道哪儿错了,因为保证index不重复,不能保证数字的结果不重复!
比如{0,0,0,0,0},target 0 就错了,回出现都是{0,0,0,0}的情况

【在 g***j 的大作中提到】
: 基本思路就是,先把两个的和存起来,并且把相应的index pair存到对应的直的map里
: 面去。
: 然后再把所有的两个的和和target的差算出来,去map里面找,因为map里面同样保存了
: 签名的数字的index,所以,只要后面两个数的最小的index比已有的最大的index大的
: 时候,就能保证不重复了。
: 可惜small set 15个总有一个不过,而且,因为显示问题,看不到哪个不过。哪个大侠
: 帮我看看代码?
: class Solution {
: public:
: vector > fourSum(vector &num, int target) {

avatar
F*k
6
是啊,丫头kc了之后越发出落的水灵了,越发有女人味儿了

【在 l*****h 的大作中提到】
: 呦呵,这一对比发现变化还真大
avatar
d*e
7
你的code应该可以更简洁一些。
第二个for i/j loop可以不要,直接loop map里面的元素就可以了

【在 g***j 的大作中提到】
: 知道哪儿错了,因为保证index不重复,不能保证数字的结果不重复!
: 比如{0,0,0,0,0},target 0 就错了,回出现都是{0,0,0,0}的情况

avatar
Y*a
8
这个太精彩了。
我想象了一下,放在我家狗上应该就是一秒钟变小地保了。
avatar
t*e
9
干妈是相思猫咪泥还是相思海鲜泥?
avatar
p*y
10
龙虾真大
avatar
N*t
11
亲妈比后妈还后妈~~
好大好红的螃蟹,丫头吃到点没?
avatar
F*k
12
据说舔得很干净

★ 发自iPhone App: ChineseWeb - 中文网站浏览器

【在 N******t 的大作中提到】
: 亲妈比后妈还后妈~~
: 好大好红的螃蟹,丫头吃到点没?

avatar
F*k
13
确切的说是相思俺干女儿她亲娘呢

★ 发自iPhone App: ChineseWeb - 中文网站浏览器

【在 t******e 的大作中提到】
: 干妈是相思猫咪泥还是相思海鲜泥?
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。