当前位置: 首页 > news >正文

怎样创建一个网站杭州建筑公司排名

怎样创建一个网站,杭州建筑公司排名,网站收录免费咨询,wordpress成长记录网站模版思路 先观察,如果k等于n,相等于啥都没做。所以先对kk%n,得到真实的k 然后发现其实是索引-k到最后移动到前面,其余部分移动到后面,所以就有nums[:] nums[-k:]nums[:-k]这里的nums必须用切片形式,nums[:] ……

思路

先观察,如果k等于n,相等于啥都没做。所以先对k=k%n,得到真实的k
然后发现其实是索引-k到最后移动到前面,其余部分移动到后面,所以就有

nums[:] = nums[-k:]+nums[:-k]

这里的nums必须用切片形式,

nums[:] = … → 修改原数组的内容(in-place)。

nums = … → 改变了 nums 这个变量的指向,原数组没动。

这是野路子,正规做法是翻转法

翻转法

首先全部反转,然后根据k值,分别反转前后部分

class Solution:def rotate(self, nums: List[int], k: int) -> None:"""Do not return anything, modify nums in-place instead."""n = len(nums)k = k % ndef reverse(i,j):while i < j:nums[i],nums[j] = nums[j],nums[i]i += 1j -= 1reverse(0,n-1)reverse(0,k-1)reverse(k,n-1)

复杂度

O(n)

数学原理

翻转有一个重要性质:

(AB)^R = B^R A^R

即:整体翻转等于子数组分别翻转后顺序交换。
这里的 ^R 表示翻转。

第一次整体翻转,把“相对顺序颠倒”

第二次翻转前半段,恢复 A 的顺序

第三次翻转后半段,恢复 B 的顺序

http://www.dtcms.com/a/493398.html

相关文章:

  • 新手做网站看什么书网站建设去哪
  • 网站交互技术做网站用的什么编程语言
  • 哪些网站是做包装的南宁定制网站建设
  • 在上海卖商铺做哪个网站好横沥镇仿做网站
  • 郑州网站seo外包公司专业网站制作电话
  • 网站友情链接怎么添加太原网站快速排名提升
  • 服装公司 网站怎么做wordpress发布软件
  • 网站卖掉被拿来做网站了移动端网站模板怎么做的
  • 网站开发需要解决难题企业网站制作步骤
  • 扬中网站网站建设深圳住房与建设网站
  • 手机网站怎么做公司logo设计公司logo设计
  • 网站建设用那个软件五种常用的网站推广方法
  • 中山网站建设是什么小学生课程同步做网站软件
  • 网上商店也叫做seo两个域名一个网站有影响
  • 企业网站和展板建设重庆seo关键词优化服务
  • 如何判断网站是竞价站广东省建设安全管理协会网站
  • 怎么注册网站域名一般网站建设需求有哪些
  • 如何建立一个网站主页建设企业网站公司价格
  • 网站前期策划天元建设集团有限公司招聘2022
  • 专业网站设计模板常见的网站空间服务商
  • 集团公司做网站简历制作专业机构
  • 简述网站建设与维护泉州专业网站建设费用
  • 十堰微网站建设深圳安全教育平台
  • 怀柔高端网站建设wordpress 值班功能
  • 手机wap网站用什么语言开发网络营销的机遇和挑战
  • 网站备案收费wordpress cms 中文
  • 即墨网站建设哪里有乐清招聘网
  • 网站鼠标经过图片代码人脉推广app
  • 上海设计网站方法做营销的网站建设
  • 建设教育工程网站天津网站营销