Solving using the Brute Force method
vector<int> TwoSum(vector<int>& nums, int target) {
vector<int> target_indices;
for (int i = 0; i < nums.size(); i++) {
for(int j = i+1; j < nums.size(); j++) {
if(nums.at(i) + nums.at(j) == target) {
target_indices.push_back(i);
target_indices.push_back(j);
break;
}
}
}
return target_indices;
}
Solving using Hashmaps
vector<int> TwoSum(vector<int>& nums, int target) {
vector<int> target_indices;
unordered_map<int, int> hash_table;
for (int i = 0; i < nums.size(); i++) {
int second_integer = target - nums.at(i);
if (hash_table.find(second_integer) != hash_table.end()) {
target_indices.push_back(i);
target_indices.push_back(hash_table.find(second_integer)->second);
break;
} else {
hash_table[nums.at(i)] = i;
}
}
return target_indices;
}
Complexity
Runtime: O(n)
Space: O(1)
Top comments (0)