leetcode上提交代码问题
来源:3-6 对撞指针 Two Sum II - Input Array is Sorted
算法请爱我emmm
2019-08-07
class Solution {
public:
vector<int> twoSum(vector<int>& numbers, int target) {
assert(numbers.size() >= 2);
// assert(isSorted(numbers));
int l = 0, r = numbers.size() - 1;
while(l < r){
if(numbers[l] + numbers[r] == target){
int res[2] = {l+1, r+1};
return vector<int>(res, res+2); //1)--这里不是已经有一个返回值了吗
}
else if(numbers[l] + numbers[r] < target)
l ++;
else // numbers[l] + numbers[r] > target
r --;
}
// throw invalid_argument("the input has no solution");
return vector<int>{-1,-1};//2)--为什么在leetcode上提交代码没有这一行就会报错??
}
};
- 老师可以答疑注释的地方吗?
写回答
1回答
-
liuyubobobo
2019-08-08
1)的地方确实有返回值,但是他在一个if条件中,不一定会走到啊。所以需要2)
比如,设计一个函数,判断传入的一个数字是正还是负:
// 判断传入的 x 是非负(大于等于零)还是负(小于零)。正则返回 true,负则返回 false
bool sign(int x){ if(x >= 0) return true; // 1 return false; // 2 }
理解一下这两个return,为什么有1的return,还需要2的return?
继续加油!:)
032019-08-08
相似问题