Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions cpp/problems/easy/add_two_numbers/add_two_numbers.cpp

This file was deleted.

6 changes: 0 additions & 6 deletions cpp/problems/easy/add_two_numbers/add_two_numbers.h

This file was deleted.

21 changes: 21 additions & 0 deletions cpp/problems/easy/two_sum/two_sum.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#include "two_sum.h"

vector<int> twoSum(vector<int> &nums, int target)
{
unordered_map<int, int> map;

for (size_t i = 0; i < nums.size(); ++i)
{
int complement = target - nums[i];
if (map.find(complement) != map.end())
{
return {map[complement], static_cast<int>(i)};
}
else
{
map[nums[i]] = static_cast<int>(i);
}
}

return {};
}
13 changes: 13 additions & 0 deletions cpp/problems/easy/two_sum/two_sum.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#ifndef TWO_SUM_H
#define TWO_SUM_H

#include <vector>
#include <unordered_map>

using std::unordered_map;
using std::vector;
using std::size_t;

vector<int> twoSum(vector<int> &nums, int target);

#endif // TWO_SUM_H
14 changes: 0 additions & 14 deletions cpp/tests/easy_tests/add_two_numbers/test_add_two_numbers.cpp

This file was deleted.

6 changes: 0 additions & 6 deletions cpp/tests/easy_tests/add_two_numbers/test_add_two_numbers.h

This file was deleted.

8 changes: 6 additions & 2 deletions cpp/tests/easy_tests/test_easy.cpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
#include "test_easy.h"

#include "add_two_numbers/test_add_two_numbers.h"
#include "two_sum/test_two_sum.h"

#include <iostream>

void test_easy()
{
test_add_two_numbers();
testTwoSum();

std::cout << "All easy tests passed!" << std::endl;
}
35 changes: 35 additions & 0 deletions cpp/tests/easy_tests/two_sum/test_two_sum.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#include "test_two_sum.h"

#include <cassert>
#include <iostream>
#include "../../../problems/easy/two_sum/two_sum.h"

void test_one()
{
std::vector<int> input = {2, 7, 11, 15};
std::vector<int> expected = {0, 1};
assert(twoSum(input, 9) == expected);
}

void test_two()
{
std::vector<int> input = {3, 2, 4};
std::vector<int> expected = {1, 2};
assert(twoSum(input, 6) == expected);
}

void test_three()
{
std::vector<int> input = {3, 3};
std::vector<int> expected = {0, 1};
assert(twoSum(input, 6) == expected);
}

void testTwoSum()
{
test_one();
test_two();
test_three();

std::cout << "All two sum tests passed!" << std::endl;
}
6 changes: 6 additions & 0 deletions cpp/tests/easy_tests/two_sum/test_two_sum.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#ifndef TEST_TWO_SUM_H
#define TEST_TWO_SUM_H

void testTwoSum();

#endif // TEST_TWO_SUM_H
1 change: 0 additions & 1 deletion cpp/tests/hard_tests/test_hard.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,4 @@

void test_hard()
{

}
1 change: 0 additions & 1 deletion cpp/tests/medium_tests/test_medium.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,4 @@

void test_medium()
{

}
8 changes: 7 additions & 1 deletion cpp/tests/test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,15 @@
#include "medium_tests/test_medium.h"
#include "hard_tests/test_hard.h"

int main() {
#include <iostream>

int main()
{
test_easy();
test_medium();
test_hard();

std::cout << "All tests passed!" << std::endl;

return 0;
}