由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Leetcode Two Sum,我这个O(n)解法为啥不讨服务器的好呢
相关主题
Leetcode上Two sum只能过3个case, VS能过,大牛进来看看是怎么回事弱问:不好意思,这个CODE问题在哪里?
请问下leetcode的two sum题目刷题弱人来问个two sum的题目
leetcode很有意思啊3sum on LeetCode OJ
开始刷leetcode,第一道题一直有run time errorleetcode 上的 two sum
leetcode的2sumtwoSum
Pairwise Sum 算法follow upleetcode 的two sum
共享一道电面题k-sum不明白啊,为啥从这个版上看起来找CS都好难啊
以前能过的leetcode 3sum, 现在fail了, 求助(时间超出了)find subset that sum up to given number
相关话题的讨论汇总
话题: numbers话题: int话题: vector话题: result话题: target
进入JobHunting版参与讨论
1 (共1页)
g*******d
发帖数: 495
1
做hackerrank做的总是有一个test case过不去,郁闷了。转战leetcode。
目前C++用的相当不熟,临时看了看vector咋用
思路很简单,排序以后,两个下标从数组的两头向中间靠近。
我比较郁闷的是,提交以后说只有2个case过了,但是我找了4个最短的case心算一下都
没问题。
心想是不是C++用的太搓了,就这么点内容都搞错
class Solution {
public:
vector twoSum(vector &numbers, int target) {

sort(numbers.begin(), numbers.end());
vector result(2);
int i=0, j=numbers.size()-1;
while(true){
if (numbers[i] + numbers[j] == target){
result[0] = i+1;
result[1] = j+1;
break;
}
if (numbers[i] + numbers[j] > target){
j--;
}
if (numbers[i] + numbers[j] < target){
i++;
}
}
return result;
}
};
a******3
发帖数: 113
2
楼主这个是不是时间超时? two sum有O(n)的解法。
r*******e
发帖数: 7583
3
要求输出的是原始下标
你这一上来就sort,下标都乱了,结果能对么?

【在 g*******d 的大作中提到】
: 做hackerrank做的总是有一个test case过不去,郁闷了。转战leetcode。
: 目前C++用的相当不熟,临时看了看vector咋用
: 思路很简单,排序以后,两个下标从数组的两头向中间靠近。
: 我比较郁闷的是,提交以后说只有2个case过了,但是我找了4个最短的case心算一下都
: 没问题。
: 心想是不是C++用的太搓了,就这么点内容都搞错
: class Solution {
: public:
: vector twoSum(vector &numbers, int target) {
:

g*******d
发帖数: 495
4
是啊,我真是做题做的脑子傻了

【在 r*******e 的大作中提到】
: 要求输出的是原始下标
: 你这一上来就sort,下标都乱了,结果能对么?

g*******d
发帖数: 495
5
下标乱掉的情况居然都能撞对两个case!!

【在 g*******d 的大作中提到】
: 是啊,我真是做题做的脑子傻了
l*****a
发帖数: 14598
6
输入为空跟只有一个元素?

【在 g*******d 的大作中提到】
: 下标乱掉的情况居然都能撞对两个case!!
g*******d
发帖数: 495
7
题目貌似是暗示说至少有俩元素吧

【在 l*****a 的大作中提到】
: 输入为空跟只有一个元素?
p*****p
发帖数: 379
8
排序不是O(n)的,O(n)用hashmap

【在 g*******d 的大作中提到】
: 做hackerrank做的总是有一个test case过不去,郁闷了。转战leetcode。
: 目前C++用的相当不熟,临时看了看vector咋用
: 思路很简单,排序以后,两个下标从数组的两头向中间靠近。
: 我比较郁闷的是,提交以后说只有2个case过了,但是我找了4个最短的case心算一下都
: 没问题。
: 心想是不是C++用的太搓了,就这么点内容都搞错
: class Solution {
: public:
: vector twoSum(vector &numbers, int target) {
:

a***o
发帖数: 17
9
while(true)是不是改成 while(i<=j) ? 不然下标越界怎么办?
另外 numbers[i] + numbers[j] 只计算一次就够了吧? 用个变量存起来.
g*******d
发帖数: 495
10
说的是……不过我这用C的土人没玩过hashmap,自己也写不了
要是支持Go,我就用map好了

【在 p*****p 的大作中提到】
: 排序不是O(n)的,O(n)用hashmap
1 (共1页)
进入JobHunting版参与讨论
相关主题
find subset that sum up to given numberleetcode的2sum
LinkedIn电面Pairwise Sum 算法follow up
leetcode上的大oj和小oj有什么本质差别吗?共享一道电面题k-sum
2-sum 用hash table实现的问题以前能过的leetcode 3sum, 现在fail了, 求助(时间超出了)
Leetcode上Two sum只能过3个case, VS能过,大牛进来看看是怎么回事弱问:不好意思,这个CODE问题在哪里?
请问下leetcode的two sum题目刷题弱人来问个two sum的题目
leetcode很有意思啊3sum on LeetCode OJ
开始刷leetcode,第一道题一直有run time errorleetcode 上的 two sum
相关话题的讨论汇总
话题: numbers话题: int话题: vector话题: result话题: target