LeetCode 1. 两数之和使用C++调用测试

1. 题目

题目链接:https://leetcode-cn.com/problems/two-sum/

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
  •  

2. 解题

#include <string.h>
#include <vector>
#include <iostream>
using namespace std;

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

int main()
{
//    vector<int>obj;//创建一个向量存储容器 int
//    for(int i=0;i<10;i++) // push_back(elem)在数组最后添加数据
//    {
//        obj.push_back(i);
//        cout<<obj[i]<<",";
//    }
//
//    for(int i=0;i<5;i++)//去掉数组最后一个数据
//    {
//        obj.pop_back();
//    }
//
//    cout<<"\n"<<endl;
//
//    for(int i=0;i<obj.size();i++)//size()容器中实际数据个数
//    {
//        cout<<obj[i]<<",";
//    }
    cout<<"\n\n\n\n"<<endl;
    cout<<"下面是调用的结果"<<endl;
     vector<int>obj02;//创建一个向量存储容器 int
     vector<int>obj03;//创建一个向量存储容器 int
obj02.push_back(2);
obj02.push_back(7);
obj02.push_back(11);
obj02.push_back(15);
    Solution s;
    obj03 = s.twoSum(obj02,9);

for(int i=0;i<obj03.size();i++)//size()容器中实际数据个数
    {
        cout<<obj03[i]<<",";
    }

    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值