#3371

Identify the Largest Outlier in an Array

Medium
ArrayHash TableCountingEnumerationHash MapArray
LeetCode ↗

Approaches

Brute ForceOptimal
Complexity Comparison
Brute ForceOptimal Solution
Time
O(n²)
O(n)
Space
O(1)
O(n)
💡

Intuition

Time O(n)Space O(n)

Instead of checking each element against the sum of others, we can use a HashMap to count occurrences and find the outlier directly by leveraging the properties of sums.

⚙️

Algorithm

4 steps
  1. 1Step 1: Create a HashMap to count the occurrences of each number.
  2. 2Step 2: Calculate the total sum of the array.
  3. 3Step 3: For each unique number in the HashMap, check if it can be the sum of special numbers by subtracting it from the total sum. If the result exists in the HashMap, it means it can be a valid sum.
  4. 4Step 4: Track the maximum outlier found during this process.
solution.py10 lines
1def largest_outlier(nums):
2    from collections import Counter
3    count = Counter(nums)
4    total_sum = sum(nums)
5    max_outlier = float('-inf')
6    for num in count:
7        if total_sum - num in count:
8            continue
9        max_outlier = max(max_outlier, num)
10    return max_outlier

Complexity note: This complexity is due to the single pass to count occurrences and another pass to check potential outliers, leading to linear time complexity.

  • 1The sum of the special numbers and the outlier can help identify potential outliers.
  • 2Using a HashMap allows for quick lookups and counting occurrences efficiently.

Solutions and explanations are original Tejav content. Problem titles © LeetCode — use the LeetCode button above for the full problem statement.