Skip to content

Commit 42f35ff

Browse files
committedApr 15, 2025
Add solution #1471
1 parent 7cb76e0 commit 42f35ff

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed
 

‎README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 1,317 LeetCode solutions in JavaScript
1+
# 1,318 LeetCode solutions in JavaScript
22

33
[https://leetcodejavascript.com](https://leetcodejavascript.com)
44

@@ -1124,6 +1124,7 @@
11241124
1466|[Reorder Routes to Make All Paths Lead to the City Zero](./solutions/1466-reorder-routes-to-make-all-paths-lead-to-the-city-zero.js)|Medium|
11251125
1467|[Probability of a Two Boxes Having The Same Number of Distinct Balls](./solutions/1467-probability-of-a-two-boxes-having-the-same-number-of-distinct-balls.js)|Hard|
11261126
1470|[Shuffle the Array](./solutions/1470-shuffle-the-array.js)|Easy|
1127+
1471|[The k Strongest Values in an Array](./solutions/1471-the-k-strongest-values-in-an-array.js)|Medium|
11271128
1472|[Design Browser History](./solutions/1472-design-browser-history.js)|Medium|
11281129
1475|[Final Prices With a Special Discount in a Shop](./solutions/1475-final-prices-with-a-special-discount-in-a-shop.js)|Easy|
11291130
1480|[Running Sum of 1d Array](./solutions/1480-running-sum-of-1d-array.js)|Easy|
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/**
2+
* 1471. The k Strongest Values in an Array
3+
* https://leetcode.com/problems/the-k-strongest-values-in-an-array/
4+
* Difficulty: Medium
5+
*
6+
* Given an array of integers arr and an integer k.
7+
*
8+
* A value arr[i] is said to be stronger than a value arr[j] if |arr[i] - m| > |arr[j] - m|
9+
* where m is the centre of the array.
10+
*
11+
* If |arr[i] - m| == |arr[j] - m|, then arr[i] is said to be stronger than arr[j]
12+
* if arr[i] > arr[j].
13+
*
14+
* Return a list of the strongest k values in the array. return the answer in any arbitrary order.
15+
*
16+
* The centre is the middle value in an ordered integer list. More formally, if the length of the
17+
* list is n, the centre is the element in position ((n - 1) / 2) in the sorted list (0-indexed).
18+
* - For arr = [6, -3, 7, 2, 11], n = 5 and the centre is obtained by sorting the array
19+
* arr = [-3, 2, 6, 7, 11] and the centre is arr[m] where m = ((5 - 1) / 2) = 2. The centre is 6.
20+
* - For arr = [-7, 22, 17, 3], n = 4 and the centre is obtained by sorting the array
21+
* arr = [-7, 3, 17, 22] and the centre is arr[m] where m = ((4 - 1) / 2) = 1. The centre is 3.
22+
*/
23+
24+
/**
25+
* @param {number[]} arr
26+
* @param {number} k
27+
* @return {number[]}
28+
*/
29+
var getStrongest = function(arr, k) {
30+
const sorted = arr.slice().sort((a, b) => a - b);
31+
const centre = sorted[Math.floor((sorted.length - 1) / 2)];
32+
33+
return arr.sort((a, b) => {
34+
const diffA = Math.abs(a - centre);
35+
const diffB = Math.abs(b - centre);
36+
return diffA === diffB ? b - a : diffB - diffA;
37+
}).slice(0, k);
38+
};

0 commit comments

Comments
 (0)
Please sign in to comment.