首页 > 其他分享 >八、旋转数组

八、旋转数组

时间:2023-04-23 13:37:05浏览次数:35  
标签:nums int 旋转 99 length 数组 100


给定一个数组,将数组中的元素向右移动 个位置,其中 是非负数。

示例 1:


输入: [1,2,3,4,5,6,7]k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步: [6,7,1,2,3,4,5] 向右旋转 3 步: [5,6,7,1,2,3,4]


示例 2:


输入: [-1,-100,3,99]k = 2 输出: [3,99,-1,-100] 解释: 向右旋转 1 步: [99,-1,-100,3] 向右旋转 2 步: [3,99,-1,-100]


class Solution {
   public int[] rotate(int[] nums, int k) {
       
     
        int length = nums.length;
        int[] res = new int[length];

        for (int i = 0; i < length; i++) {
        res[(i+k)%length]=nums[i];
        }
       
        for(int i =0;i<length;i++){
           nums[i]=res[i];
        }
       
        return nums;
    }
}

 

标签:nums,int,旋转,99,length,数组,100
From: https://blog.51cto.com/u_16084838/6217454

相关文章

  • 九、数组中存在重复
    给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回true。如果数组中每个元素都不相同,则返回false。示例1:输入:[1,2,3,1]输出:true示例2:输入:[1,2,3,4]输出:false示例 3:输入:[1,1,1,3,3,4,3,2,4,2]输出:trueclassSolution{pub......
  • java使用数组实现队列
    1.1. 队列的数据结构队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。1.2. Java实现QueueTestpackagech04;publicclassQ......
  • java用数组实现栈
    1.1. 栈的数据结构栈是一种先进后出的数据结果,只能在一端(称为栈顶(top))对数据项进行插入和删除。1.2. Java实现StackTestpackagech04;publicclassStackTest{publicstaticvoidmain(String[]args){ArrayStackstack=newArrayStack(10);......
  • C语言--数组1
    一维数组和二维数组【一维数组的创建和初始化】数组的创建数组是一组相同类型元素的集合。数组的初始化数组在创建时不指定数组的大小就要初始化。数组的元素个数根据初始化内容来确定。但对于下面代码要区分,其在内存中如何分配。chararr1[]="abc";chararr2[3]={'a','b','c'......
  • 数组求和累加
    publicclassTest2{publicstaticvoidmain(String[]args){int[]arr={68,27,95,88,171,996,51,210};intsum=getEvenNumberSum(arr);System.out.println(sum);}/*一个数组,元素是{68,27,95,88,171,996,51,210}求出该数......
  • #yyds干货盘点# LeetCode程序员面试金典:搜索旋转排序数组
    题目:整数数组nums按升序排列,数组中的值互不相同。在传递给函数之前,nums在预先未知的某个下标k(0<=k<nums.length)上进行了旋转,使数组变为[nums[k],nums[k+1],...,nums[n-1],nums[0],nums[1],...,nums[k-1]](下标从0开始计数)。例如,[0,1,2,4,5,6,7]在下标3处......
  • 2022-04-22:给你两个正整数数组 nums 和 target ,两个数组长度相等。 在一次操作中,你可
    2022-04-22:给你两个正整数数组nums和target,两个数组长度相等。在一次操作中,你可以选择两个不同的下标i和j,其中0<=i,j<nums.length,并且:令nums[i]=nums[i]+2且令nums[j]=nums[j]-2。如果两个数组中每个元素出现的频率相等,我们称两个数组是相似的......
  • 二维数组
    int[][]x,y;int[][]x,y表示x和y都是int类型的二维数组。int[]x,y[];int[]x表示x是一个一维的int类型数组.y[]表示y是一个二维的数组,每个元素都是一个一维的int类型数组。可以将y[]看作一个“数组的数组”。......
  • 力扣---238. 除自身以外数组的乘积
    给你一个整数数组 nums,返回数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。题目数据保证数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32位整数范围内。请不要使用除法,且在 O(n)时间复杂度内完成此题。 示例1:输......
  • 旋转图像--Python实现
    给定一个n×n的二维矩阵matrix表示一个图像。请将图像顺时针旋转90度。defrotate(matrix):"""Donotreturnanything,modifymatrixin-placeinstead."""matrix[:]=zip(*matrix[::-1])returnmatrix......