一、189. 旋转数组
1.1、题目描述
class Solution:
def rotate(self, nums: List[int], k: int) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
tmp = [0 for _ in range(len(nums))]
for i in range(len(nums)):
# 原本数组里下标为 ii 的我们把它放到 (i+k)\%数组长度(i+k)%数组长度 的位置
tmp[(i+k)%len(nums)] = nums[i]
for i in range(len(nums)):
nums[i] = tmp[i]
1.2.2、使用环状替换 — 让座位
第i个同学去找第i+k+1
同学的位置, i+k+1
同学被挤出,寻找他的位置 分两种情况
- (1)、i同学经过多次遍历回到原位置
- (2)、未回到原位置(k=2)
class Solution:
def rotate(self, nums: List[int], k: int) -> None:
count = 0 # 记录替换的位置
ln = len(nums)
k = k % ln
start = 0
while start None:
while start
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?