Finder centos7安装 TCP连接 ssl hive download vue滑动事件 nginx视频 jmeter性能测试视频 linux管道符 oracle增加主键 flutter项目案例 mysql删除表 python入门教程 python参考手册 获取当前时间java linux系统命令大全 sql综合利用工具 乱码查看器 网站数据分析工具 零基础学python dota改键工具 java获取时间戳 光头强换肤助手 s10截屏 逗号的作用 ps工具栏怎么调出来 极速pdf转word 巫师3福利 illustrator下载 total同级生2下载 网卡驱动下载 未能创建视频预览 dnf不知火刷图加点 ps旋转复制 视频不能快进 小程序开发者工具 片头的制作 网页录屏 c4d倒角
当前位置: 首页 > 学习教程  > 编程语言

LeetCode 简单难度 返回两数之和的下标

2020/11/24 10:17:27 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

题目 给定一个整数数组 nums 和一个目标值 target&#xff0c;请你在该数组中找出和为目标值的那 两个 整数&#xff0c;并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素不能使用两遍。 class Solution { public:vector<int&g…

题目

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        vector<int>::iterator i,j;
        vector<int> Index;
        bool GotIndex = false;
        for (i = nums.begin(); i!=(nums.end() - 1);++i)
        {
            for(j = (i + 1);j!=nums.end();++j)
            {
                 if (*i + *j == target)
                {
                    Index.push_back(distance(begin(nums), i));
                    Index.push_back(distance(begin(nums), j));
                    GotIndex = true;
                    break;
                }
            }
            if (GotIndex) break;
        }
        return Index;
    }
};

需要两个break跳出循环,其实可以用while来写的

vector.push_back()     //向容器的末尾增加内容
Index.push_back(distance(begin(nums), i));  //返回下标,  从现在的迭代器的地址到起始位置的距离

参考

 vector<int> bills{ 5, 10, 10, 10, 20 };
 vector<int>::iterator iter = find(bills.begin(), bills.end(), 10);
 auto index = distance(begin(bills), iter);  //返回找到目标值(10)的第一个索引,这里即为1```


本文链接: http://www.dtmao.cc/news_show_400248.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?