Skip to content

Latest commit

 

History

History
45 lines (37 loc) · 1.1 KB

Question_2090.md

File metadata and controls

45 lines (37 loc) · 1.1 KB

LeetCode Records - Question 2090 K Radius Subarray Averages

Attempt 1: Track the current sum

class Solution {
    public int[] getAverages(int[] nums, int k) {
        int len = k + k + 1;
        if (nums.length < len) {
            int[] ans = new int[nums.length];
            Arrays.fill(ans, -1);
            return ans;
        }

        int[] ans = new int[nums.length];
        int ansIndex = 0;
        for (; ansIndex < k; ansIndex++) {
            ans[ansIndex] = -1;
        }

        long currSum = 0;
        for (int i = 0; i < len; i++) {
            currSum += nums[i];
        }

        ans[ansIndex] = (int)(currSum / len);
        ansIndex++;

        for (int endIndex = len; endIndex < nums.length; endIndex++) {
            currSum = currSum + nums[endIndex] - nums[endIndex - len];
            ans[ansIndex] = (int)(currSum / len);
            ansIndex++;
        }

        for (; ansIndex < nums.length; ansIndex++) {
            ans[ansIndex] = -1;
        }

        return ans;
    }
}
  • Runtime: 4 ms (Beats: 100.00%)
  • Memory: 64.59 MB (Beats: 27.08%)