2090. K Radius Subarray Averages Medium

@problem@discussion
#Array#Sliding Window



1/**
2 * [2090] K Radius Subarray Averages
3 *
4 * You are given a 0-indexed array nums of n integers, and an integer k.
5 * The k-radius average for a subarray of nums centered at some index i with the radius k is the average of all elements in nums between the indices i - k and i + k (inclusive). If there are less than k elements before or after the index i, then the k-radius average is -1.
6 * Build and return an array avgs of length n where avgs[i] is the k-radius average for the subarray centered at index i.
7 * The average of x elements is the sum of the x elements divided by x, using integer division. The integer division truncates toward zero, which means losing its fractional part.
8 * 
9 * 	For example, the average of four elements 2, 3, 1, and 5 is (2 + 3 + 1 + 5) / 4 = 11 / 4 = 2.75, which truncates to 2.
10 * 
11 *  
12 * Example 1:
13 * <img alt="" src="https://assets.leetcode.com/uploads/2021/11/07/eg1.png" style="width: 343px; height: 119px;" />
14 * Input: nums = [7,4,3,9,1,8,5,2,6], k = 3
15 * Output: [-1,-1,-1,5,4,4,-1,-1,-1]
16 * Explanation:
17 * - avg[0], avg[1], and avg[2] are -1 because there are less than k elements before each index.
18 * - The sum of the subarray centered at index 3 with radius 3 is: 7 + 4 + 3 + 9 + 1 + 8 + 5 = 37.
19 *   Using integer division, avg[3] = 37 / 7 = 5.
20 * - For the subarray centered at index 4, avg[4] = (4 + 3 + 9 + 1 + 8 + 5 + 2) / 7 = 4.
21 * - For the subarray centered at index 5, avg[5] = (3 + 9 + 1 + 8 + 5 + 2 + 6) / 7 = 4.
22 * - avg[6], avg[7], and avg[8] are -1 because there are less than k elements after each index.
23 * 
24 * Example 2:
25 * 
26 * Input: nums = [100000], k = 0
27 * Output: [100000]
28 * Explanation:
29 * - The sum of the subarray centered at index 0 with radius 0 is: 100000.
30 *   avg[0] = 100000 / 1 = 100000.
31 * 
32 * Example 3:
33 * 
34 * Input: nums = [8], k = 100000
35 * Output: [-1]
36 * Explanation: 
37 * - avg[0] is -1 because there are less than k elements before and after index 0.
38 * 
39 *  
40 * Constraints:
41 * 
42 * 	n == nums.length
43 * 	1 <= n <= 10^5
44 * 	0 <= nums[i], k <= 10^5
45 * 
46 */
47pub struct Solution {}
48
49// problem: https://leetcode.com/problems/k-radius-subarray-averages/
50// discuss: https://leetcode.com/problems/k-radius-subarray-averages/discuss/?currentPage=1&orderBy=most_votes&query=
51
52// submission codes start here
53
54impl Solution {
55    pub fn get_averages(nums: Vec<i32>, k: i32) -> Vec<i32> {
56        vec![]
57    }
58}
59
60// submission codes end
61
62#[cfg(test)]
63mod tests {
64    use super::*;
65
66    #[test]
67    fn test_2090() {
68    }
69}
70


Back
© 2025 bowen.ge All Rights Reserved.