Skip to content

Commit 4955878

Browse files
authored
Create 3371-identify-the-largest-outlier-in-an-array.js
1 parent c2a66ba commit 4955878

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number}
4+
*/
5+
var getLargestOutlier = function (nums) {
6+
let totalSum = 0
7+
for (let num of nums) {
8+
totalSum += num
9+
}
10+
11+
const freqMap = new Map()
12+
for (let num of nums) {
13+
freqMap.set(num, (freqMap.get(num) || 0) + 1)
14+
}
15+
let res = Number.MIN_SAFE_INTEGER
16+
17+
for (let sumElement of nums) {
18+
let potentialOutlier = totalSum - 2 * sumElement
19+
20+
if (freqMap.has(potentialOutlier)) {
21+
if (potentialOutlier === sumElement && freqMap.get(sumElement) < 2) {
22+
continue
23+
}
24+
res = Math.max(res, potentialOutlier)
25+
}
26+
}
27+
return res
28+
}

0 commit comments

Comments
 (0)