1. Two Sum QuestionEditorial Solution My Submissions
2016-07-15 18:10
369 查看
开始刷leetcode了,跟acm那种提交方式还是有一点不同的,需要慢慢习惯
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].
整个题目可以用最简单的暴力,但是就时间慢。
我是用了mutlimap(因为案例有重复),map的特性会自动对key排序,然后从第一个数和最后一个数开始遍历找到答案。
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].
整个题目可以用最简单的暴力,但是就时间慢。
我是用了mutlimap(因为案例有重复),map的特性会自动对key排序,然后从第一个数和最后一个数开始遍历找到答案。
class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { multimap<int, int>a; vector<int>::iterator v; int num = 0; for(v = nums.begin(); v != nums.end(); v++) { a.insert(pair<int,int>(nums[num],num)); num++; } multimap<int, int>::iterator i1; multimap<int, int>::iterator i2; int ii; for(i2 = a.begin(), ii = 0; ii < num - 1; ++ii, i2++); vector<int> n; for(i1 = a.begin(); i1 != i2;) { if(i1 -> first + i2->first > target) i2--; else if(i1 -> first + i2->first < target) i1++; else { n.push_back(i1 -> second); n.push_back(i2 -> second); break; } } return n; } };
相关文章推荐
- mui几种页面跳转方式对比
- 判断UItextFiled只包含小数点后一位且是5
- UESTC 982质因子分解
- Android UI(EditText)详解
- 当前视图是在UIWindow上,所以需要拿到主window,判断是UINavigationController的子类再选中第一个TabBar,否则不处理
- 在android中如何用线程来更新UI
- 设计模式之Builder模式
- UITableView的代理方法viewForHeaderInSection不执行的原因
- IBM CleanQuest使用方法
- hdu 1159 Common Subsequence
- View requires API level 14 (current min is 8): <GridLayout>
- discuz X3.2 开启QQ互联后,点击登录以后报错:(1054) Unknown column 'conuintoken' in 'field list'
- Cf Round #361 (Div. 2) 689D. Friends and Subsequences
- UITableViewCell 中的单选控制 UITableViewCellAccessoryCheckmark
- org.openqa.selenium.remote.SessionNotFoundException: The FirefoxDriver cannot be used after quit() was called.
- Android进阶UI之使用TextInputLayout创建一个登陆界面
- UESTC149 解救小Q
- Druid 数据库用户密码加密 代码实现
- UI面板拖放
- UITableViewController类预置模板详解(部分一)