leetcode 之Rotate Array
来源:互联网 发布:淘宝网店在哪里看 编辑:程序博客网 时间:2024/06/16 04:13
Rotate an array of n elements to the right by k steps.
For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].
Note:
Try to come up as many solutions as you can, there are at least 3 different ways to solve this problem.
[show hint]
Related problem: Reverse Words in a String II
Credits:
Special thanks to @Freezen for adding this problem and creating all test cases.
好的~,这题在编程珠玑还是编程之美里看过。不记得了。反正题意记着。
诀窍在于两次翻转
int len = nums.length; if (len == 1 || k == 0 || len == k) { return; } k = k % len; for (int i = 0; i < (len - k) / 2; i++) { int t = nums[i]; nums[i] = nums[len - k - i - 1]; nums[len - k - i - 1] = t; } for (int i = len - k, j = 1; i < len - k/ 2; i++) { int t = nums[i]; nums[i] = nums[len - j]; nums[len - j] = t; j++; } for (int i = 0; i < len / 2; i++) { int t = nums[i]; nums[i] = nums[len - i - 1]; nums[len - i - 1] = t; }
它说有三种方法。这是第一种,其它想到再说。
第二种
public void rotate(int[] nums, int k) { int len = nums.length; k = k % len; if (len == 1 || k == 0 || len == k) { return; } int[] result=new int[len]; for (int i = 0; i <len; i++) { if (i<k) { result[k-i-1]=nums[len-i-1]; }else{ result[i]=nums[i-k]; } } for(int i=0;i<len;i++){ nums[i]=result[i]; } }
0 0
- leetcode 之Rotate Array
- leetcode之rotate array
- LeetCode之Rotate Array
- leetcode之Rotate Array
- Leetcode之Rotate Array
- LeetCode之Rotate Array
- Leetcode之Rotate Array 问题
- [leetcode][array] Rotate Array
- LeetCode之Rotate Array(C++)
- LeetCode 之 Rotate Array — C++ 实现
- LeetCode[Array]: Rotate Image
- LeetCode:Rotate Array
- [LeetCode] Rotate Array
- *LeetCode-Rotate Array
- [LeetCode]189.Rotate Array
- Rotate Array - LeetCode - Java
- Rotate Array--Leetcode(Java)
- Leetcode--Rotate Array
- ZOJ1003(1)
- LeetCode OJ Reverse Linked List II
- LeetCode OJ Linked List Cycle II
- 每个Java程序员必须知道的5个JVM命令行标志
- LeetCode OJ Linked List Cycle
- leetcode 之Rotate Array
- LeetCode OJ Insertion Sort List
- LeetCode OJ Sort List
- LeetCode OJ Max Points on a Line
- hdu 4463 Outlets(最小生成树)
- linux 下实线文件切割--split
- LeetCode OJ Remove Duplicates from Sorted List II
- 如何让基于对话框的MFC程序一运行起来就完全隐藏
- LeetCode OJ 3Sum Closest