【LEETCODE】#1 两数之和(vector的用法)

xiaoxiao2021-02-28  30

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Example:

Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1].

C++:

1、C++ vector的用法:http://www.cnblogs.com/Nonono-nw/p/3462183.html

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

【2019/3/14】

上次写这道题,还是去年的六月份,现在已经快一年过去了,leetcode中文官网出来了……

从C换成C++,重上刷题路,心里五味杂陈

 


 C:

/** * Note: The returned array must be malloced, assume caller calls free(). */ int* twoSum(int* nums, int numsSize, int target) { int *s; s=(int*)malloc(2*sizeof(int)); int i,j; for(i=0;i<numsSize-1;i++){    //注意上下限 for(j=i+1;j<numsSize;j++){    //注意上下限 if((*(nums+i)+*(nums+j))==target){ *s=i;*(s+1)=j; return s; } } } return NULL; }

 

 

转载请注明原文地址: https://www.6miu.com/read-2630507.html

最新回复(0)