【问题标题】:C++ Excess elements in scalar initializer标量初始化程序中的 C++ 多余元素
【发布时间】:2020-10-16 23:02:59
【问题描述】:

我有这个任务,我必须返回 nums 中数字的 2 个索引,它们加起来是 int 目标,输出应该如下所示:[1,2]。

但是在返回语句中我得到错误我做错了什么?

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        for(int i=0;i<nums.size();i++){
            for(int j=0;i<nums.size();i++){
                if(nums[i] +nums[j]==target){
                    return new int [2]={i,j};
                }
            }
        }
    }
};

【问题讨论】:

  • new int [2] 不是 vector&lt;int&gt;。只需执行return {i,j},编译器就会尽力而为。

标签: c++ arrays algorithm


【解决方案1】:

您选择使用vector&lt;int&gt; 作为返回值,因此您不需要使用new

删除多余的东西。

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        for(int i=0;i<nums.size();i++){
            for(int j=0;i<nums.size();i++){
                if(nums[i] +nums[j]==target){
                    return {i,j};
                }
            }
        }
    }
};

【讨论】:

  • 谢谢你!,我照你说的做了,后来还是缺少退货声明,但我设法做到了:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-25
  • 2016-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-20
相关资源
最近更新 更多