We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent cdd4bc6 commit d897395Copy full SHA for d897395
C++/the-k-strongest-values-in-an-array.cpp
@@ -17,6 +17,26 @@ class Solution {
17
// Time: O(nlogn)
18
// Space: O(1)
19
class Solution2 {
20
+public:
21
+ vector<int> getStrongest(vector<int>& arr, int k) {
22
+ sort(begin(arr), end(arr));
23
+ const auto m = arr[(arr.size() -1) / 2];
24
+ int left = 0, right = arr.size() - 1;
25
+ vector<int> result;
26
+ while (result.size() < k) {
27
+ if (m - arr[left] > arr[right] - m) {
28
+ result.push_back(arr[left++]);
29
+ } else {
30
+ result.push_back(arr[right--]);
31
+ }
32
33
+ return result;
34
35
+};
36
+
37
+// Time: O(nlogn)
38
+// Space: O(1)
39
+class Solution3 {
40
public:
41
vector<int> getStrongest(vector<int>& arr, int k) {
42
sort(begin(arr), end(arr));
0 commit comments