请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答

1回答

res 是 int[] 类型,有两个元素,res就是这个数组的头,res + 2是这个数组的尾。

vector<int>的一个构造函数,可以传入数组的头和尾,构造一个vector<int>,也就是将int[]转成了vector<int>。


对于支持 C++11 标准的编译器来说,直接这样写也可以:

for(int i = 0 ; i < numbers.size() ; i ++)    
    for(int j = i+1 ; j < numbers.size() ; j ++)    
        if(numbers[i] + numbers[j] == target)    
            return {i+1, j+1};


继续加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 算法请爱我emmm #1
    若采用return vector<int>(res,res+2)这个语句,可以认为是返回一个vector<int>数组吗?如果是这样,那不是返回了三个数值了吗?答案只需要返回两个数值啊?
    回复 有任何疑惑可以回复我~ 2019-07-28 10:07:29
  • liuyubobobo 回复 提问者 算法请爱我emmm #2
    返回了两个。C++的区间都是前闭后开的。res + 2不包含。
    回复 有任何疑惑可以回复我~ 2019-07-28 10:08:11
  • 提问者 算法请爱我emmm 回复 liuyubobobo #3
    第一次听c++区间这个概念。我学艺不精啊!
    谢谢老师,明白了
    回复 有任何疑惑可以回复我~ 2019-07-28 14:14:13
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信