栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

找出一个列表里面的所有的两数之和

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

找出一个列表里面的所有的两数之和

class Solution {
public:
    vector twoSum(vector& nums, int target) {
        int idx = 0;
        auto v = nums;
        vector plusInfo = {};
        for (std::vector::iterator i = v.begin(); i != v.end(); ++i)
        {
            int value = *i;
            int idx2 = idx;
            for (std::vector::iterator p = i+1; p != v.end(); ++p)
            {
                idx2 = idx2 + 1;

                int value2 = *p;
                int plusValue = value + value2;
                if (plusValue == target)
                {
                    plusInfo.push_back(idx);
                    plusInfo.push_back(idx2);
                }
            }

            idx = idx + 1;
        }

        return plusInfo;
    }
};

上面的是可以的,没有问题的,但其实刚开始的时候我并不是这样写的,这是改过之后的,刚开始写的在leetcode上运行一直报内存错误的错误,我找了一下原因是因为,最后的
v.end() 指向的是列表里面最后一个元素的下一个,我用while遍历的时候访问了这个,所以报错,可以看一下原来的代码

class Solution {
public:
    vector twoSum(vector& nums, int target) {
        int idx = 0;
        auto v = nums;
        vector plusInfo = {};
        for (std::vector::iterator i = v.begin(); i != v.end(); ++i)
        {
            int value = *i;
            int idx2 = idx;
            std::vector::iterator p = i;
            //----------------------------------
            while(p != v.end())
            {
                p = p + 1;
                idx2 = idx2 + 1;

                int value2 = *p;
                int plusValue = value + value2;
                if (plusValue == target)
                {
                    plusInfo.push_back(idx);
                    plusInfo.push_back(idx2);
                }
            }
            //----------------------------------

            idx = idx + 1;
        }

        return plusInfo;
    }
};
暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1017046.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号