avatar
G*n
1
总是有Output Limit Exceeded的error怎么回事?
class Solution {
public:
vector > threeSum(vector &num) {
vector> list;

if (num.size() <= 2) return list;

sort(num.begin(), num.end());

for (int i = 0; i{
int j = i+1, k=num.size()-1;
while (j{
int t = num[i]+num[j]+num[k];

if (t == 0)
{

if (list.size()>0)
{
vector m = list.back();
if (m[0] == num[i] &&m[1] == num[j] &&m[2] == num[k]
)
{
j++;
k--;
continue;
}
}

list.push_back(vector{num[i],num[j],num[k]});
j++;
k--;

}
else if (t<0)
{
j++;
}
else
{
k--;
}
}
}

return list;

}
};
avatar
y*l
2
GIFT CARD # 6065 2080 2919 5589
PIN #: 70069595
avatar
f*t
3
因為你的輸出實際上還是無序的,妳只跟最後一個解判斷是不是相同還不夠。比如,-3
-3 0 1 2 3 其中-3 0 3這個解都會出現兩次
avatar
G*n
4
哦,果然,多谢!
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。