【编程】leetcode
2014-12-30 18:14
99 查看
之前了解到leetcode是个不错的刷题站点,今天稍微尝试了一下第一题,比较简单,要排序又要通过hash表来保存相应的index。
只是在弄输出结果的时候,花了点时间。之前还一直以为判断输出结果是通过在函数中output出来的,结果是将结果作为函数的返回值返回给系统来判断。
只是在弄输出结果的时候,花了点时间。之前还一直以为判断输出结果是通过在函数中output出来的,结果是将结果作为函数的返回值返回给系统来判断。
class Solution { public: class mapFinder{ public: int left; mapFinder(int val):left(val){} bool operator()(const multimap<int, int>::value_type &pair) { return (pair.first == left); } }; vector<int> twoSum(vector<int> &numbers, int target) { vector<int>::iterator it; multimap <int, int> iiMap; multimap <int, int>::iterator iiMit1, iiMit2, iiMit3; for (it = numbers.begin(); it != numbers.end(); it++) { iiMap.insert(pair<int, int>(*it, it - numbers.begin() + 1)); } for (iiMit1 = iiMap.begin(), iiMit2 = iiMap.end(); iiMit1 != iiMap.end(); iiMit1++) { iiMit3 = iiMit1; iiMit3++; iiMit2 = find_if(iiMit3, iiMap.end(), mapFinder(target - iiMit1->first)); if (iiMit2 != iiMap.end()) /* found */ { break; } } if (iiMit2 != iiMap.end()) { if (iiMit1->second > iiMit2->second) { return vector<int>({iiMit2->second, iiMit1->second}); } else { return vector <int>({iiMit1->second, iiMit2->second}); } } return vector <int> ({0, 0}); } };
相关文章推荐
- Leetcode 编程训练
- [LeetCode(Q69)] Sqrt(x) (编程实现sqrt)
- Leetcode 编程训练(转载)
- LeetCode-Number of Digit One(编程之美-1的数目)
- LeetCode Maximum Subarray和编程之美 求数组的子数组之和的最大值
- Leetcode 编程训练
- Leetcode 编程训练 (转)
- Leetcode 编程训练
- leetcode String to Integer (atoi) java基本编程学习(二)
- LeetCode:Populating Next Right Pointers in Each Node I,II 编程之美3.10
- [编程练习][Add Two Numbers]<LeetCode-2>
- Leetcode 编程训练笔记-Reverse Integer
- Leetcode:在线编程网站-各大IT公司的笔试面试题
- [编程练习]Longest Palindromic Substring <LeetCode-5>
- [leetcode] Wildcard matching——编程菜鸟们绝对值得一看
- Leetcode:在线编程网站
- [编程练习][Longest Substring Without Repeating Characters]<LeetCode-3>
- Leetcode 编程训练 (转)
- [LeetCode] Online Judge-开始我的编程小训练
- leetcode:292 Nim Game-每日编程第一题