Leetcode NO.170 Two Sum III - Data structure design
来源:互联网 发布:centos 6.4 厂家 编辑:程序博客网 时间:2024/05/29 16:25
本题题目要求如下:
Design and implement a TwoSum class. It should support the following operations: add
and find
.
add
- Add the number to an internal data structure.find
- Find if there exists any pair of numbers which sum is equal to the value.
For example,
add(1); add(3); add(5);find(4) -> truefind(7) -> false基本思路就是用hashmap来存储,key是存储的值,而value是存储的次数,这样,如果3的value是2,则6可以用3+3实现。。。
所以add的时间复杂度是O(1),而find的时间复杂度是O(n),这个需要注意一些细节,这题leetcode设计的时间范围不是很好,如果多用了个if,else,可能就过不了,要尽量写出最简代码,代码如下:
class TwoSum {public:void add(int number) { hashmap[number]++;}bool find(int value) { for (auto it = hashmap.begin(); it != hashmap.end(); ++it) { auto got = hashmap.find(value - it->first); if (got != hashmap.end() and (got != it or got->second > 1)) { return true; } } return false;}private: unordered_map<int, int> hashmap;};
0 0
- Leetcode NO.170 Two Sum III - Data structure design
- LeetCode Two Sum III - Data structure design
- LeetCode-Two Sum III - Data structure design
- [Leetcode] Two Sum III - Data structure design
- LeetCode - Two Sum III - Data structure design
- Leetcode|Two Sum III - Data structure design
- leetcode 170: Two Sum III - Data structure design
- 170 Two Sum III - Data structure design
- LeetCode 题解(247) : Two Sum III - Data structure design
- [leetcode] 170. Two Sum III - Data structure design 解题报告
- [leetcode] 170. Two Sum III – Data structure design
- [LeetCode]170. Two Sum III - Data structure design
- LeetCode 170. Two Sum III - Data structure design
- Two Sum III - Data structure design
- Two Sum III - Data structure design
- [LeetCode170]Two Sum III - Data structure design
- Two Sum III - Data structure design
- Two Sum III – Data structure design
- Kth Largest Element in an Array
- 从Matlab .fig文件中读取数据,并重新绘图
- Multisim BLUE14.0使用介绍
- Tokyo Cabinet 的一个bug
- 走进Java(一)J2SE
- Leetcode NO.170 Two Sum III - Data structure design
- K - Perpetuum Mobile
- IP网络,光网络以及轨道交通的高速卸载随想
- Dallas one-wire temperature reading on BeagleBone Black with dto (未翻译)
- Sqoop 1.99.3 安装
- C#__Dictionary类 __类似java Map 键值对
- 【LeetCode-面试算法经典-Java实现】【024-Swap Nodes in Pairs(成对交换单链表的结点)】
- Android中popupWindow的简单应用
- 设置圆角按钮的方法