LeetCode之Two Sum
来源:互联网 发布:网站备案 知乎 编辑:程序博客网 时间:2024/06/03 09:21
题目:
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].
暴力解决方法:
class Solution {public: vectortwoSum(vector & nums, int target) { bool flag = 0; vector result; int temp_size = nums.size()-1;// if don't use this variable,just write it in for(;i
注意两点:
1.如果将写成for(int i=0; i<sums.size()-1;i++),leetcode会报compile error,这时需要一个变量来存sums.size()-1;
2.发现第一个for循环里面如果只遍历到数组倒数第二个数,但是用一个单独变量来存储sums.size()-1,总的运行时间会比循环sums.size()次稍慢。
精简一点版本:
使用unordered_map
class Solution {public: vectortwoSum(vector & nums, int target) { vector result; unordered_map findTheRest; for (int i = 0; i < nums.size(); i++) { int theRest = target - nums[i]; if (findTheRest.find(theRest) != findTheRest.end()) { result.push_back(findTheRest[theRest]); result.push_back(i); break; } findTheRest[nums[i]] = i; } return result; }};
原理一样,运行更快的版本:
class Solution {public: vectortwoSum(vector & nums, int target) { unordered_map findTheRest; for (int i = 0; i < nums.size(); i++) { int theRest = target - nums[i]; if (findTheRest.find(theRest) != findTheRest.end()) { return{findTheRest[theRest],i}; } findTheRest[nums[i]] = i; } return {}; }};
阅读全文
0 0
- leetcode之Two Sum
- LeetCode 之 Two Sum
- LeetCode之Two Sum
- LeetCode之Two Sum
- leetcode之two Sum
- leetcode之Two Sum
- leetcode 之Two Sum
- LeetCode 之 Two Sum
- LeetCode之Two Sum
- leetcode之two sum
- Leetcode之Two Sum
- leetcode之Two Sum
- leetcode之Two Sum
- leetCode之 Two Sum
- leetcode之two sum
- LeetCode之Two Sum
- Leetcode之 Two Sum
- LeetCode之Two Sum
- 基于Java技术的大型网站架构设计方案
- 几道C语言笔试题及个人理解
- [USACO4.1.1]Beef McNuggets
- POJ 3107 dfs 树的重心
- spring boot基础之表单验证
- LeetCode之Two Sum
- 排序1——冒泡排序
- vxWorks中的多核间的通信
- 《一个Android工程的从零开始》阶段总结与修改1-base
- hdu-1671-Phone List
- java基础知识收集
- MySQL中的事务
- 前端试题大综合练习(十)
- tomcat 小问题个人汇总