- 1、题目描述:
- 2、题目链接:
https://www.nowcoder.com/practice/20ef0972485e41019e39543e8e895b7f?tpId=117&&tqId=34983&rp=1&ru=/ta/job-code-high&qru=/ta/job-code-high/question-ranking
-3、 设计思想:
详细操作流程看下图:
-4、视频讲解链接B站视频讲解
-5、代码:
c++版本:
class Solution { public: /** * * @param numbers int整型vector * @param target int整型 * @return int整型vector */ vector<int> twoSum(vector<int>& numbers, int target) { vector<int>res;// 用来返回结果 for(int i = 0;i < numbers.size();i ++){//遍历每个数 int temp = target - numbers[i];//现在拿出了numbers[i],那么我们需要在数组里面找target - numbers[i] for(int j = i + 1;j < numbers.size();j ++) { if(temp == numbers[j])//如果找到了temp就意味着两个数都找到了,可以直接返回结果了 { res.push_back(i + 1); res.push_back(j + 1); return result; } } } return result; } };
Java版本:
import java.util.*; public class Solution { /** * * @param numbers int整型一维数组 * @param target int整型 * @return int整型一维数组 */ public int[] twoSum (int[] numbers, int target) { int[] res = {0,0}; // 用来返回结果 for(int i = 0;i < numbers.length;i ++)//遍历每个数 { int temp = target - numbers[i];//现在拿出了numbers[i],那么我们需要在数组里面找target - numbers[i] for(int j = i + 1;j < numbers.length;j ++) { if(temp == numbers[j])//如果找到了temp就意味着两个数都找到了,可以直接返回结果了 { res[0] = i + 1; res[1] = j + 1; return res; } } } return res; } }
Python版本:
# # # @param numbers int整型一维数组 # @param target int整型 # @return int整型一维数组 # class Solution: def twoSum(self , numbers , target ): # write code here res = [] #用来返回结果 for i in range(len(numbers)): #遍历每个数 temp = target - numbers[i] #现在拿出了numbers[i],那么我们需要在数组里面找target - numbers[i] for j in range(i+1,len(numbers)): if temp == numbers[j]:#如果找到了temp就意味着两个数都找到了,可以直接返回结果了 res.append(i+1) res.append(j+1) return res return res