4011. Smallest Absent Positive Greater Than Average¶
4011. Smallest Absent Positive Greater Than Average
Easy
You are given an integer array nums.
Return the smallest absent positive integer in nums such that it is strictly greater than the average of all elements in nums.
The average of an array is defined as the sum of all its elements divided by the number of elements.
Example 1:
Input: nums = [3,5]
Output: 6
Explanation:
- The average of
numsis(3 + 5) / 2 = 8 / 2 = 4. - The smallest absent positive integer greater than 4 is 6.
Example 2:
Input: nums = [-1,1,2]
Output: 3
Explanation:
- βββββββThe average of
numsis(-1 + 1 + 2) / 3 = 2 / 3 = 0.667. - The smallest absent positive integer greater than 0.667 is 3.
Example 3:
Input: nums = [4,-1]
Output: 2
Explanation:
- The average of
numsis(4 + (-1)) / 2 = 3 / 2 = 1.50. - The smallest absent positive integer greater than 1.50 is 2.
Constraints:
1 <= nums.length <= 100-100 <= nums[i] <= 100βββββββ
Solution¶
class Solution {
public int smallestAbsent(int[] nums) {
int n = nums.length;
int sum = 0;
HashSet<Integer> set = new HashSet<>();
for (int ele : nums) {
set.add(ele);
sum += ele;
}
int idx = 1;
while (true) {
if (idx * n > sum) {
if (set.contains(idx)) {
idx++;
continue;
}
return idx;
}
idx++;
}
}
}
Complexity Analysis¶
- Time Complexity: O(?)
- Space Complexity: O(?)
Explanation¶
[Add detailed explanation here]