小草生月
2021-09-10 16:14
采纳率: 66.7%
浏览 44

力扣第一题 两数求和,输出了奇怪的东西?

在线蹲一个dl啊,我实在看不出哪里出了问题,这个代码运行好像有的示例可以通过,有的又会莫名输出奇怪的东西。有没有解答一下疑惑

img

  • 收藏

3条回答 默认 最新

  • 已采纳

    看起来两个循环都少读了数组的最后一个数

    已采纳该答案
    1 打赏 评论
  • CSDN专家-link 2021-09-10 16:20

    函数调用代码长啥样啊
    虽然少了最后一个数的判别,但怎么能走到if条件内部的呢,很奇怪

    打赏 评论
  • Admini$trat0r 2021-09-10 16:30
    
    class Solution {
    public:
        vector<int> twoSum(vector<int>& nums, int target) {
            //vector类型为长度可变的数组,更灵活。需要#include<vector>
            vector<int> a;
            //int a[2];这里指定返回的是verctor类型,故这里不能用普通数组array
            for(int i=0;i<nums.size();i++){
                for(int j =i+1;j<nums.size();j++){
                    if(nums[i]+nums[j]==target){
                        //在a的最后添加元素
                        a.push_back(i);
                        a.push_back(j);
                        //a[0] = i;
                        //a[1] =j;
                        return a;
                    }
                }
            }
        }
    };
    
    
    打赏 评论