solved Hackerrank's Picking number practice
Signed-off-by: ayham <altffour@protonmail.com>
This commit is contained in:
parent
b33513db4b
commit
872debb688
|
@ -28,12 +28,37 @@ int formingMagicSquare(vector<vector<int>> s) {
|
||||||
{3, 5, 7},
|
{3, 5, 7},
|
||||||
{8, 1, 6}
|
{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 = {
|
vector<int> diffs = {
|
||||||
mat_diff(s, magic_sqr_1),
|
mat_diff(s, magic_sqr_1),
|
||||||
mat_diff(s, magic_sqr_2),
|
mat_diff(s, magic_sqr_2),
|
||||||
mat_diff(s, magic_sqr_3),
|
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()))];
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
Loading…
Reference in New Issue