diff --git a/hackerrank.forming.a.magic.square.cpp b/hackerrank.forming.a.magic.square.cpp index 28a42b8..81e1f3e 100644 --- a/hackerrank.forming.a.magic.square.cpp +++ b/hackerrank.forming.a.magic.square.cpp @@ -28,12 +28,37 @@ int formingMagicSquare(vector> s) { {3, 5, 7}, {8, 1, 6} }; + vector> magic_sqr_5 = { + {4, 3, 8}, + {9, 5, 1}, + {2, 7, 6} + }; + vector> magic_sqr_6 = { + {6, 7 ,2}, + {1, 5, 9}, + {8, 3, 4} + }; + vector> magic_sqr_7 = { + {8, 1, 6}, + {3, 5, 7}, + {4, 9, 2} + }; + vector> magic_sqr_8 = { + {2, 9, 4}, + {7, 5, 3}, + {6, 1, 8}, + }; vector diffs = { mat_diff(s, magic_sqr_1), mat_diff(s, magic_sqr_2), mat_diff(s, magic_sqr_3), - mat_diff(s, magic_sqr_4)}; + mat_diff(s, magic_sqr_4), + mat_diff(s, magic_sqr_5), + mat_diff(s, magic_sqr_6), + mat_diff(s, magic_sqr_7), + mat_diff(s, magic_sqr_8) + }; - return diffs[distance(diffs.begin(), std::min_element(diffs.begin(), diffs.end()); + return diffs[distance(diffs.begin(), min_element(diffs.begin(), diffs.end()))]; } diff --git a/hackerrank.picking.numbers.cpp b/hackerrank.picking.numbers.cpp new file mode 100644 index 0000000..b8d68fc --- /dev/null +++ b/hackerrank.picking.numbers.cpp @@ -0,0 +1,24 @@ +#include + +using namespace std; + +int pickingNumbers(vector a) { + sort(a.begin(), a.end()); + int result = 0; + int max = 0; + for (int i = 0; i < a.size(); i++) { + for (int j = i + 1; j < a.size(); j++) { + if (abs(a[i] - a[j]) > 1) break; + else result += 1; + } + if (result > max) max = result; + cout << result << endl; + result = 0; + } + return max + 1; +} + +int main() { + cout << pickingNumbers({4, 6, 5, 3, 3, 1}); + return 0; +}