leetcode(46).189. Rotate Array
来源:互联网 发布:一分洗车软件 编辑:程序博客网 时间:2024/05/16 15:23
题意:
将有n个元素的数组,的后k个元素移动到最前面。
初步分析:
循环k次,每次都实现循环移动一位。结果是超时。
参考别人的解决办法:
其实对这个题的理解就是
a b => b a (a b 都代表一段数组)
如果把整个数组反转:反b反a
再把b反转,把a反转
就能得到:b a
就把问题转化为简单的,反转的实现。
所以,要脱离最基本的想法,要用更宏观的看法来思考。
public class Solution { public void rotate(int[] nums, int k) { k = k % nums.length; reverse(nums, 0, nums.length - 1); reverse(nums, 0, k - 1); reverse(nums, k, nums.length - 1);}public void reverse(int[] nums, int s, int e) { while (s < e) { int t = nums[s]; nums[s] = nums[e]; nums[e] = t; s++; e--; }}}
0 0
- leetcode(46).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
- [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
- leetcode-189. Rotate Array
- Leetcode 189. Rotate Array
- Table显示滚动条(简单方法)
- html笔试错题
- 数据结构--单链表的插入
- 多线程的聊天室的服务器端
- js学习之前言
- leetcode(46).189. Rotate Array
- Hibernate之对象的三种状态
- Linux常用命令之Vi文本编辑器
- 网站开发流程以及HTML5简介(五)
- 山科大 oj 寻找勾股数
- jsonlib使用的依赖jar包
- 解决Nginx: [error] open() "/usr/local/Nginx/logs/Nginx.pid
- 深度优先算法--之模拟迷宫
- servlet之response和request对象的引用