solved Hackerrank's Picking number practice

Signed-off-by: ayham <altffour@protonmail.com>
This commit is contained in:
ayham 2021-05-08 13:53:19 +03:00
parent b33513db4b
commit 872debb688
No known key found for this signature in database
GPG Key ID: 81D38F7122AFCC94
2 changed files with 51 additions and 2 deletions

View File

@ -28,12 +28,37 @@ int formingMagicSquare(vector<vector<int>> s) {
{3, 5, 7},
{8, 1, 6}
};
vector<vector<int>> magic_sqr_5 = {
{4, 3, 8},
{9, 5, 1},
{2, 7, 6}
};
vector<vector<int>> magic_sqr_6 = {
{6, 7 ,2},
{1, 5, 9},
{8, 3, 4}
};
vector<vector<int>> magic_sqr_7 = {
{8, 1, 6},
{3, 5, 7},
{4, 9, 2}
};
vector<vector<int>> magic_sqr_8 = {
{2, 9, 4},
{7, 5, 3},
{6, 1, 8},
};
vector<int> 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()))];
}

View File

@ -0,0 +1,24 @@
#include <bits/stdc++.h>
using namespace std;
int pickingNumbers(vector<int> 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;
}