标签:tput xpl out line res The arraylist turn span
/** * 239. Sliding Window Maximum * https://leetcode.com/problems/sliding-window-maximum/description/ * * Given an array nums, there is a sliding window of size k which is moving from the very left of the array to the very right. * You can only see the k numbers in the window. Each time the sliding window moves right by one position. Return the max sliding window. Example: Input: nums = [1,3,-1,-3,5,3,6,7], and k = 3 Output: [3,3,5,5,6,7] Explanation: Window position Max --------------- ----- [1 3 -1] -3 5 3 6 7 3 1 [3 -1 -3] 5 3 6 7 3 1 3 [-1 -3 5] 3 6 7 5 1 3 -1 [-3 5 3] 6 7 5 1 3 -1 -3 [5 3 6] 7 6 1 3 -1 -3 5 [3 6 7] 7 * */ class Solution { fun maxSlidingWindow(nums: IntArray, k: Int): IntArray { val result = ArrayList<Int>() var left = 0 var right = left + k val size = nums.size for (i in 0 until size) { val intRange = IntRange(left, right - 1) val subArray = nums.slice(intRange) result.add(subArray.max()!!) left++ right = left + k if (right > size) { break } } return result.toIntArray() } }
标签:tput xpl out line res The arraylist turn span
原文地址:https://www.cnblogs.com/johnnyzhao/p/11218131.html