1.Two Sum 难度:easy
来源:互联网 发布:java后端是做什么的 编辑:程序博客网 时间:2024/05/22 04:39
题目:
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.
Example:Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9,return [0, 1].
解题思路:
本题要我们在数组中找到两个数,要求两个数的和等于所给的数,输出两个数各自在数组中的位置。解题的关键是要建立数字和数字所在数组中的位置之间的关系,自然而然得联想到用stl容器map<int,int>。在遍历数组的过程中,在map中寻找target - nums[i],若找不到,则记录下当前数字所在数组的位置,若找到,则将找到的位置和当前位置保存在返回数组中,每次遍历一个位置要遍历一次map,因此算法的复杂度为O(n^2)。
程序:
class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> res(2);map<int,int> m;for(int i = 0;i < nums.size();i++){if(m.find(target - nums[i]) == m.end())m[nums[i]] = i;else{res[0] = m[target - nums[i]];res[1] = i;break;}}return res; }};
0 0
- 1.Two Sum 难度:easy
- 【Easy】1. Two Sum
- 1. Two Sum easy
- 1. Two Sum (Easy)
- 1.[easy] Two Sum
- 1. Two Sum [easy] (Python)
- leetcode 1. Two Sum [Easy]
- LeetCode 1. Two Sum (Easy)
- Leetcode 1. Two Sum (Easy) (cpp)
- Leetcode 1. Two Sum (Easy) (java)
- 2017.2.25 1. Two Sum [easy]
- Leetcode[Easy] - Two Sum
- 【Leetcode】Two sum(easy)
- Two Sum(easy)
- Two Sum(easy)
- leetcode Two Sum easy
- #1 Two Sum(Easy)
- [Easy]Two Sum
- 汇编指令助记符含义
- 学习笔记
- 飞机游戏场景实现过程
- Selenium学习笔记1--选择浏览器,定位网页
- 详解CoordinatorLayout
- 1.Two Sum 难度:easy
- 基本的web页面样式(就是一开始把所有的基础样式都规定好)
- cocos2d-x--->飞机大战第一天0905
- 数组
- 7. Reverse Integer *
- 怎么判断一个数是否为完全平方数
- 欢迎使用CSDN-markdown编辑器
- cocos2d-x视频教程
- KNN、k-近邻算法,python