Software Engineering/Algorithm

[LeetCode] K Radius Subarray Averages

devhrkim 2024. 6. 10. 14:20

풀이

class Solution {
    public int[] getAverages(int[] nums, int k) {
        long[] prefix = new long[nums.length];
        int[] answer = new int[nums.length];
        prefix[0] = nums[0];
        for(int i=1; i<nums.length; i++) {
            prefix[i] = prefix[i-1] + nums[i];
        }
        for(int i=0; i<nums.length; i++) {
            if(i-k>=0 && i+k<nums.length)
                answer[i] = (int) ((prefix[i+k]-((i-k > 0)? prefix[i-k-1] : 0))/(2*k+1));
            else
                answer[i]=-1;
        }
        return answer;
    }
}

 

오늘 Arrays and Strings 完!