开始刷leetcode day3:Rotate Array
来源:互联网 发布:mdf文件恢复数据库 编辑:程序博客网 时间:2024/06/01 08:18
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.
Java:
sulotion 1:
public class Solution {
public void rotate(int[] nums, int k) {
int tempnums[] = new int[k];
int s = 0;
k = k % nums.length;
for(int i=nums.length - k; i< nums.length; i++)
{
tempnums[s] = nums[i];
s ++;
}
for(int j=nums.length - k - 1; j>= 0; j --)
{
nums[j + k] = nums[j];
}
for(int p = 0; p<k; p++)
{
nums[p] = tempnums[p];
}
}
}
solution 2:
space O(1)
public class Solution {
public void rotate(int[] nums, int k) {
k = k % nums.length;
if(k != 0)
{
reverse(nums, 0, nums.length - 1);
reverse(nums, 0, k-1);
reverse(nums, k, nums.length - 1);
}
}
public static void reverse(int[] reverse, int start, int end)
{
for(int i = 0; i<Math.floor((end+1 -start)/2); i++)
{
int temp = reverse[i+start];
reverse[i+start] = reverse[end -i];
reverse[end -i] = temp;
}
}
}
- 开始刷leetcode day3:Rotate Array
- 开始刷题leetcode day3:Merge Sorted Array
- [leetcode][array] Rotate Array
- 开始刷leetcode day3: house robber
- 开始刷题leetcode day3: Path Sum
- 开始刷题leetcode day3: Majority Element
- 【LeetCode刷题记录】Rotate Array
- 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
- LeetCode: Rotate Array
- LeetCode Rotate Array
- Rotate Array(leetcode)
- CVX coding
- 开始刷leetcode day3: house robber
- iOS- 传感器用法简介
- 百万宝贝观后感
- 硫磺岛家书观后感
- 开始刷leetcode day3:Rotate Array
- 非常喜欢的漫画《I'S》
- InstallAnywhere的自定义PANEL
- std map set 区别
- HMM
- vim的调试插件——gdbmgr
- 开始刷题leetcode day3:Factorial Trailing Zeroes
- 扬声器切换
- 大数据流式处理一个不能忽视的问题