Skip to content

Commit bde3da7

Browse files
committed
Homework 1
1 parent 0afaec5 commit bde3da7

File tree

6 files changed

+80
-5
lines changed

6 files changed

+80
-5
lines changed

task_01/src/Searching_sum.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#include "Searching_sum.hpp"
2+
3+
#include <utility>
4+
5+
std::pair<int, int> SearchingSum(std::vector<int> vec, int num) {
6+
int start = 0;
7+
int end = vec.size() - 1;
8+
while (start < end) {
9+
if (vec[start] + vec[end] > num)
10+
end--;
11+
else if (vec[start] + vec[end] < num)
12+
start++;
13+
else
14+
return std::make_pair(start, end);
15+
}
16+
return std::make_pair(-1, -1);
17+
}

task_01/src/Searching_sum.hpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#ifndef SEARCHING_SUM_HPP
2+
#define SEARCHING_SUM_HPP
3+
4+
#include <utility>
5+
#include <vector>
6+
std::pair<int, int> SearchingSum(std::vector<int> vec, int num);
7+
8+
#endif // define Searching_sum.hpp

task_01/src/main.cpp

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
11
#include <iostream>
2+
#include <utility>
3+
#include <vector>
24

3-
int main() { return 0; }
5+
#include "Searching_sum.hpp"
6+
7+
int main() {
8+
int n, k;
9+
std::cin >> n >> k;
10+
std::vector<int> vec(n);
11+
for (int i = 0; i < n; i++) {
12+
std::cin >> vec[i];
13+
}
14+
std::pair<int, int> ans = SearchingSum(vec, k);
15+
std::cout << ans.first << " " << ans.second << std::endl;
16+
return 0;
17+
}

task_01/src/test.cpp

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,44 @@
11

22
#include <gtest/gtest.h>
33

4-
#include "topology_sort.hpp"
4+
#include <utility>
5+
#include <vector>
6+
7+
#include "Searching_sum.hpp"
58

69
TEST(TopologySort, Simple) {
7-
ASSERT_EQ(1, 1); // Stack []
10+
int sum1 = 6;
11+
std::vector<int> vec1{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
12+
std::pair<int, int> ans1{0, 6};
13+
ASSERT_EQ(SearchingSum(vec1, sum1), ans1);
14+
15+
int sum2 = 6;
16+
std::vector<int> vec2{0};
17+
std::pair<int, int> ans2{-1, -1};
18+
ASSERT_EQ(SearchingSum(vec2, sum2), ans2);
19+
20+
int sum3 = 4;
21+
std::vector<int> vec3{-11, -6, 0, 1, 2, 4, 10, 16};
22+
std::pair<int, int> ans3{1, 6};
23+
ASSERT_EQ(SearchingSum(vec3, sum3), ans3);
24+
25+
int sum4 = 0;
26+
std::vector<int> vec4{-17, -8, -1, 1, 2, 4, 10};
27+
std::pair<int, int> ans4{2, 3};
28+
ASSERT_EQ(SearchingSum(vec4, sum4), ans4);
29+
30+
int sum5 = -9;
31+
std::vector<int> vec5{-17, -8, -1, 1, 2, 4, 10};
32+
std::pair<int, int> ans5{1, 2};
33+
ASSERT_EQ(SearchingSum(vec5, sum5), ans5);
34+
35+
int sum6 = 17;
36+
std::vector<int> vec6{-17, -8, -1, 1, 2, 4, 10};
37+
std::pair<int, int> ans6{-1, -1};
38+
ASSERT_EQ(SearchingSum(vec6, sum6), ans6);
39+
40+
int sum7 = -1;
41+
std::vector<int> vec7{-18, -10, -1, -1, -1, 0, 3, 5, 10};
42+
std::pair<int, int> ans7{2, 5};
43+
ASSERT_EQ(SearchingSum(vec7, sum7), ans7);
844
}

task_01/src/topology_sort.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
#include "topology_sort.hpp"
1+
#include "topology_sort.hpp"

task_01/src/topology_sort.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
#pragma once
1+
#pragma once

0 commit comments

Comments
 (0)