【leetCode】001Two Sum
来源:互联网 发布:部落地震法术数据 编辑:程序博客网 时间:2024/06/02 10:57
【链接】:Two Sum
【描述】: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].
Subscribe to see which companies asked this question.
【思路】:
C代码:
int main(){ int n,arr[maxn]; int target; int ri,rj; memset(arr,0,sizeof(arr)); scanf("%d",&n); for(int i=0; i<n; ++i) scanf("%d",&arr[i]); scanf("%d",&target); for(int i=0; i<n; ++i){ for(int j=i+1; j<n; ++j){ if(arr[j]==(target-arr[i])) ri=i; rj=j; break; } break; } printf("%d %d\n",ri,rj); return 0;}
C++代码:
class Solution{public: vector <int> twoSum(vector<int>&nums,int target) { unordered_map<int,int> map; for(int i=0; i<nums.size(); ++i){ auto tp=map.find(target-nums[i]); if(tp!=map.end()) { return {tp->second,i}; } map[nums[i]]=i; } }};
unordered_map和map类似,都是存储的key-value的值,可以通过key快速索引到value。不同的是unordered_map不会根据key的大小进行排序,
存储时是根据key的hash值判断元素是否相同,即unordered_map内部元素是无序的,而map中的元素是按照二叉搜索树存储,进行中序遍历会得到有序遍历。
1 0
- LeetCode 001 Two Sum
- LeetCode-001 Two Sum
- 【leetcode】001 Two Sum
- LeetCode 001-Two Sum
- [LeetCode]-001-Two Sum
- LeetCode 001, Two Sum
- LeetCode 001 Two Sum
- 001 Two Sum [Leetcode]
- LeetCode #001 Two Sum
- LeetCode 001 Two Sum
- 【leetCode】001Two Sum
- LeetCode || 001 Two Sum
- 【Leetcode】001 Two Sum
- LeetCode-001 Two Sum
- LeetCode 001 :Two Sum
- leetcode 001 Two Sum
- 【leetcode 001】Two Sum || Add Two Numbers
- [LeetCode题解001]Two Sum
- ContentProvider实现增删改
- JavaScript事件高级应用
- centOS7下的Nginx的安装和配置
- Android中内容提供者ContentProvider实现数据库增删改查
- 34.activity携带数据显示跳转
- 【leetCode】001Two Sum
- 欢迎使用CSDN-markdown编辑器
- php安装xdebug说明
- Play a game
- js中判断数组的方法
- 【鹅厂面试题】——-关于微信红包取中间值(笔试题)
- jQuery- 工具方法和实例方法
- 关于c++中的vector
- 博客第一天!