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},
|
||||
{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()))];
|
||||
}
|
||||
|
|
|
@ -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