旋转数组

原创 2018年04月16日 15:07:51
旋转数组

将包含 n 个元素的数组向右旋转 步。

例如,如果  n = 7 ,  k = 3,给定数组  [1,2,3,4,5,6,7]  ,向右旋转后的结果为 [5,6,7,1,2,3,4]

注意:

尽可能找到更多的解决方案,这里最少有三种不同的方法解决这个问题。

[显示提示]

提示:

要求空间复杂度为 O(1)

关联的问题: 反转字符串中的单词 II

致谢:
特别感谢 @Freezen 添加此问题并创建所有测试用例。

1
class Solution {
2
    public void rotate(int[] nums, int k) {
3
      
4
        int l = nums.length;
5
        int temp;
6
        while(k-- != 0)
7
        {
8
            temp=nums[l-1];
9
            for(int i = l-1;i > 0;i--)
10
            {
11
                nums[i]=nums[i-1];
12
            }
13
            nums[0]=temp;
14
        }
15
        }  
16
    
17
}

XML and Databases

XML and DatabasesCopyright 1999, 2000 by Ronald BourretSeptember, 1999 (Last updated November 2000)T...
  • ghj1976
  • ghj1976
  • 2001-05-25 13:48:00
  • 1700

查找旋转数组的最小数字 JAVA实现

题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一...
  • u013276277
  • u013276277
  • 2017-05-22 09:20:34
  • 342

【LeetCode】Rotate Array 旋转数组

题目 Rotate an array of n elements to the right by k steps. For example, with n = 7 and k = 3, ...
  • xiangshimoni
  • xiangshimoni
  • 2015-04-23 15:38:43
  • 1374

面试题8:旋转数组中的最小数字

旋转数组的特点: (1)递增排序的数组旋转之后的数组可划分为两个排序的子数组; (2)前面的子数组的元素都大于或等于后面子数组的元素; (3)最小的元素刚好是两个子数组的分界线; (4)旋转数组在一...
  • htyurencaotang
  • htyurencaotang
  • 2013-07-19 22:56:14
  • 4448

旋转数组中的最小值

旋转数组: 把一个数组最开始的若干个元素搬到数组的末尾,我们称为数组的旋转 要求: 输入一个递增排序的数组的一个旋转,输出旋转数组的最小值. 思想: 从头到尾遍历数组一次,就能找...
  • u010187139
  • u010187139
  • 2015-07-15 21:12:00
  • 816

剑指offer----旋转数组的最小数字----java实现

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该...
  • snow_7
  • snow_7
  • 2016-07-14 15:34:09
  • 2048

leetcode-189 Rotate Array 旋转数组

《编程之美》P221 Rotate an array ofn elements to the right by k steps. For example, withn = 7 and k = ...
  • woliuyunyicai
  • woliuyunyicai
  • 2015-03-17 21:19:37
  • 845

剑指offer第六题【旋转数组的最小数字】c++实现

旋转数组的最小数字 参与人数:3258时间限制:1秒空间限制:32768K通过比例:14.10%最佳记录:0 ms|0K(来自  Wocao) 题目描述 把一个数组最开始的若...
  • u011692312
  • u011692312
  • 2015-10-14 11:30:19
  • 499

LeetCode-旋转数组

旋转数组将包含 n 个元素的数组向右旋转 k 步。例如,如果  n = 7 ,  k = 3,给定数组  [1,2,3,4,5,6,7]  ,向右旋转后的结果为 [5,6,7,1,2,3,4]。注意:...
  • wangbo1998
  • wangbo1998
  • 2018-04-03 16:26:45
  • 51

小米笔试题(查找旋转数组中的元素)

今天参加小米现场笔试,遇到一个关于查找旋转数组中的元素算法问题,在这里记录一下。...
  • a1181191837
  • a1181191837
  • 2015-10-08 23:25:55
  • 1873
收藏助手
不良信息举报
您举报文章:旋转数组
举报原因:
原因补充:

(最多只允许输入30个字)