Two Sum III - Data structure design
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) -> true find(7) -> false------------------------------------------
class TwoSum {
public:
void add(int number) {
if (dic.find(number) == dic.end()) {
dic[number] = 1;
}else {
dic[number]++;
}
}
bool find(int value) {
for (auto i = dic.begin(); i != dic.end(); i++) {
if (dic.find(value - i->first) != dic.end()) {
if (value == i->first * 2 && i->second == 1) {
continue;
}
return true;
}
}
return false;
}
private:
unordered_map<int,int> dic;
};
Factorial Trailing Zeroes
Given an integer n, return the number of trailing zeroes in n!.Note: Your solution should be in logarithmic time complexity.
----------------------------------------
class Solution {
public:
int trailingZeroes(int n) {
int rt = 0;
while (n) {
rt += n / 5;
n /= 5;
}
return rt;
}
};
No comments:
Post a Comment