189. Rotate Array
来源:互联网 发布:淘宝运营专员岗位职责 编辑:程序博客网 时间:2024/04/29 04:34
189. Rotate Array
题目描述: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]
.思路:先将整个数组转置,之后对数组的0到k位置转置,之后再对数组的k到n进行转置,如对题目中的例子[1,2,3,4,5,6,7],先对整个数组转置,转置后的结果为[7,6,5,4,3,2,1],之后对数组的0到3处进行转置,转置后的结果为[5,6,7,4,3,2,1],之后再对数组中的k到n处位置转置,转置后的结果为[5,6,7,1,2,3,4]。
代码
package Array;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class Solution { public void rotate(int[] nums, int k) { k %= nums.length; if (k == 0 || k == nums.length) { return; } reverse(nums, 0, nums.length-1); reverse(nums, 0, k - 1); reverse(nums,k,nums.length-1); }// 对数组转置 private void reverse(int []nums,int start,int end){ while (start <= end) { int temp = nums[start]; nums[start] = nums[end]; nums[end] = temp; start++; end--; } }}
阅读全文
0 0
- Leetcode - Array - 189. Rotate Array
- 189. Rotate Array leetcode(array)
- LeetCode-Array-189. Rotate Array
- [LeetCode]189.Rotate Array
- [Leetcode] 189.Rotate Array
- LeetCode 189. Rotate Array
- 【LeetCode】189.Rotate Array
- [leetcode] 189.Rotate Array
- 【leetcode】189. Rotate Array
- Leetcode 189. Rotate Array
- 189. Rotate Array LeetCode
- 189. Rotate Array
- [LeetCode]189. Rotate Array
- 189. Rotate Array
- leetcode-189.-Rotate Array
- 189. Rotate Array
- 189. Rotate Array
- 189. Rotate Array
- Greendao+多线程断点续传
- tensorflow对自己的数据进行训练(选择性的恢复权值)(26)---《深度学习》
- 【Scikit-Learn 中文文档】支持向量机
- leetCode-Best Time to Buy and Sell Stock II
- Spring—ApplicationListener
- 189. Rotate Array
- 移动距离
- PHP+Mysql模拟队列
- 什么是ConcurrentHashMap?
- ftp 主被动问题
- 松柏先生每日一例:古法“见南花”,赋予水泥新的生命
- Http网络获取get/post
- angularjs的过滤
- Android播放器框架分析 1