您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“Java怎么實現滑動窗口”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Java怎么實現滑動窗口”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
解題思路:
使用隊列實現滑動窗口
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]; } } }
讀到這里,這篇“Java怎么實現滑動窗口”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。