商城首页欢迎来到中国正版软件门户

您的位置:首页 > 编程开发 >Java中实现滑动窗口的方法及示例

Java中实现滑动窗口的方法及示例

  发布于2023-04-29 阅读(0)

扫一扫,手机访问

解题思路:

使用队列实现滑动窗口

    public int[] rotate(int []nums,int k){
        LinkedList<Integer> queue = new LinkedList<Integer>();
        for (int num:nums){
            queue.offer(num);
        }
        for (int i=0;i<k;i++){
            int temp =  queue.pollLast();
            queue.offerFirst(temp);
        }
        return queue.stream().mapToInt(value -> {
            return value;
        }).toArray();
    }

优化算法: 利用空间换取时间:复制一份相同维度的数组,对于原来的数组进行位置替换

class Solution {
       public void rotate(int []nums,int k){
          int []nums1= Arrays.copyOfRange(nums,0,nums.length);
          
          for (int i =0;i<nums1.length;i++){
               int end = (i+k)%nums.length;
               nums[end] = nums1[i];
          }
    }
}
本文转载于:https://www.yisu.com/zixun/546123.html 如有侵犯,请联系admin@zhengruan.com删除

热门关注