LeetCode-in-Java

3833. Count Dominant Indices

Easy

You are given an integer array nums of length n.

An element at index i is called dominant if: nums[i] > average(nums[i + 1], nums[i + 2], ..., nums[n - 1])

Your task is to count the number of indices i that are dominant.

The average of a set of numbers is the value obtained by adding all the numbers together and dividing the sum by the total number of numbers.

Note: The rightmost element of any array is not dominant.

Example 1:

Input: nums = [5,4,3]

Output: 2

Explanation:

Example 2:

Input: nums = [4,1,2]

Output: 1

Explanation:

Constraints:

Solution

public class Solution {
    public int dominantIndices(int[] a) {
        int n = a.length;
        long sum = 0;
        int cnt = 0;
        for (int i = n - 1; i > 0; i--) {
            sum += a[i];
            if (a[i - 1] > sum / (n - i)) {
                cnt++;
            }
        }
        return cnt;
    }
}