返回顶部
首页 > 资讯 > 后端开发 > Python >LeetCode189轮转数组python示例
  • 529
分享到

LeetCode189轮转数组python示例

2024-04-02 19:04:59 529人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录1.题目2.知识点3.代码3.1 arraycopy方法解析3.2 Scala代码3.3.java代码3.4 复杂度分析1.题目 给你一个数组,将数组中的元素向右轮转 k 个位置

1.题目

给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。

示例 1:
输入: nums = [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:
输入:nums = [-1,-100,3,99], k = 2
输出:[3,99,-1,-100]
解释:
向右轮转 1 步: [99,-1,-100,3]
向右轮转 2 步: [3,99,-1,-100]

提示:
1 <= nums.length <= 105
-231 <= nums[i] <= 231 - 1
0 <= k <= 105

2.知识点

  • 使用额外的数组
  • 我们可以使用额外的数组来将每个元素放至正确的位置。用 n表示数组的长度,我们遍历原数组,将原数组下标为 i的元素放至新数组下标为 (i+k) mod n 的位置,最后将新数组拷贝至原数组即可。

3.代码

3.1 arraycopy方法解析

 @param src源数组。
 @param srcPos在源数组中的起始位置。
 @param dest目标数组。
 @param destPos在目标数据中的起始位置。
 @param length要复制的数组元素的数量。
 
arraycopy(Object src,  int  srcPos, Object dest, int destPos, int length);

3.2 scala代码

def rotate4(nums:Array[Int],k:Int):Unit = {
    val n: Int = nums.length
    val newArr = new Array[Int](n)
    for(i<-0 to n-1){
      newArr((i+k)%n) = nums(i)
    }
    System.arraycopy(newArr,0,nums,0,n)
    import java.util.Arrays
    println(Arrays.toString(nums))
  }

3.3.java代码

class Solution {
    public void rotate(int[] nums, int k) {
        int n = nums.length;
        int[] newArr = new int[n];
        for (int i = 0; i < n; ++i) {
            newArr[(i + k) % n] = nums[i];
        }
        System.arraycopy(newArr, 0, nums, 0, n);
    }
}

3.4 复杂度分析

  • 时间复杂度: O(n),其中 n 为数组的长度。
  • 空间复杂度: O(n)。

以上就是LeetCode189轮转数组python示例的详细内容,更多关于轮转数组Python示例的资料请关注编程网其它相关文章!

--结束END--

本文标题: LeetCode189轮转数组python示例

本文链接: https://lsjlt.com/news/119860.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • LeetCode189轮转数组python示例
    目录1.题目2.知识点3.代码3.1 arraycopy方法解析3.2 scala代码3.3.java代码3.4 复杂度分析1.题目 给你一个数组,将数组中的元素向右轮转 k 个位置...
    99+
    2024-04-02
  • js实现数组转树示例
    目录原生 封装工具函数 getTree结构图:原生 封装工具函数 getTree 1.1 定义 -映射对象 map 数组 treeList=[] 1.2 遍历后端返回的数组 list...
    99+
    2024-04-02
  • Python中图片转数组、二进制互转的操作示例
    小编给大家分享一下Python中图片转数组、二进制互转的操作示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言需要导入以下包,没有的通过pip安装import...
    99+
    2023-06-07
  • ReactHooks+ts(函数组件)实现原生轮播的示例
    目录1.下载依赖(第一个是js依赖,第二个是ts依赖)2.创建tsx文件3.创建less文件1.下载依赖(第一个是js依赖,第二个是ts依赖) npm install smooths...
    99+
    2024-04-02
  • PHP数组转树结构以及树结构转数组的示例
    本文将为大家详细介绍“PHP数组转树结构以及树结构转数组的示例”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“PHP数组转树结构以及树结构转数组的示例”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体...
    99+
    2023-06-06
  • JS将伪数组转换成数组的实现示例
    目录什么是伪数组?转换ES5 的做法方法1方法2ES6的做法第三个参数的用法(不常用)Array.from 其他玩法把字符串转换成数组在 JS 中,伪数组 是非常常见的,它也叫 类数...
    99+
    2024-04-02
  • uniapp vue与nvue轮播图之轮播图组件的示例代码
    vue部分如下: <template> <view class=""> <!-- 轮播图组件 --> <swiper :ind...
    99+
    2024-04-02
  • C语言超详细讲解轮转数组
    目录题目描述实例解题思路1. 先整体逆转2.逆转子数组[0, k - 1]3.逆转子数组[k, numsSize - 1]易错点代码题目描述 给你一个数组,将数组中的元素向右轮转 k...
    99+
    2024-04-02
  • Vue组件实现景深卡片轮播示例
    目录前言需求拆解开发思路(vue2)开发过程后记前言 朋友的朋友做了个首页,首页用到一个卡片轮播,大概就是这个样子的: 第一版他们是开发出来了,但是各种bug,希望我帮忙改一下。 ...
    99+
    2024-04-02
  • react组件实现无缝轮播示例详解
    目录正文无缝轮播实现思路构思使用时代码结构Carousel组件CarouselItem组件完善组件完成小圆点正文 需求是做一个无缝轮播图,我说这不是有很多现成的轮子吗?后来了解到他有...
    99+
    2022-11-13
    react 组件无缝轮播 react 无缝轮播
  • arrify转数组实现示例源码解析
    目录学习目标拉取源码分析源码Symbol.iterator 的使用场景具有默认的迭代器函数的对象总结学习目标 分析 arrify 函数的源码通过测试用例调试源码学习 Symbol.i...
    99+
    2022-12-25
    arrify 转数组 arrify 转数
  • JS一维数组转化为三维数组的实现示例
    今天在CSDN上问答区看到一个提问的小伙伴,是想要将一维数组转化为三位数组的需求,正好不是很忙,乐于助人的我立马给这位同学安排上,当然也没有顾及那么多去看资料什么的,就直接按照自己的...
    99+
    2024-04-02
  • C语言轮转数组问题怎么解决
    今天小编给大家分享一下C语言轮转数组问题怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。题目描述给你一个数组,将数组中...
    99+
    2023-06-29
  • C语言怎么解决轮转数组问题
    本篇内容主要讲解“C语言怎么解决轮转数组问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言怎么解决轮转数组问题”吧!题目1.题目描述给你一个数组,将数组中的元素向右轮转 k 个位...
    99+
    2023-06-30
  • 基于vue.js轮播组件vue-awesome-swiper实现轮播图的示例分析
    这篇文章主要为大家展示了“基于vue.js轮播组件vue-awesome-swiper实现轮播图的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“基于vu...
    99+
    2024-04-02
  • php将数组转换为json格式的示例
    小编给大家分享一下php将数组转换为json格式的示例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在PHP中,可以使用json_encode()函数来将数组转换为json格式的数据,语法为“json_encode(数组变...
    99+
    2023-06-06
  • python中轮盘赌算法的使用示例
    这篇文章给大家分享的是有关python中轮盘赌算法的使用示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、说明轮盘赌博算法的精髓是可以根据个人适应度随机选择,适应度越大的个人选择的概率越高,群体规模越大,该算...
    99+
    2023-06-15
  • vuev-viewer组件使用示例详解(v-viewer轮播图)
    目录v-viewer轮播图效果图组件介绍插件安装补充:v-viewer的使用(vue)v-viewer轮播图 效果图 Bandicam(录制视频)+soogif(视频转成gif) ...
    99+
    2023-02-09
    vue v-viewer组件使用 vue v-viewer组件 v-viewer轮播图
  • python数组怎么转元组
    要将一个Python数组转换为元组,可以使用tuple()函数将数组作为参数传递给它。以下是示例代码:pythonarray = [...
    99+
    2023-10-20
    python
  • Java如何将数组转换成List?(代码示例)
    有时候我们需要将数组类型转换成为集合类型,因为后者是一个更为强大的数据结构,java.util.List 有许多普通数组不支持的功能。比如:我们可以通过List的内置方法轻易地检测list是否包含某一个特定的值。下面是一些怎么将数组转换为l...
    99+
    2019-10-30
    java教程 java 数组 List
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作