方法一:使用额外的数组
这个方法很简单很直观,很暴力
新建一个数组,将对应的位置赋值过来,再将转移后的数组赋值回原数组即可。
方法二:环状替换
我最开始的想法类似于这个环状替换,但无奈没想出来这个count的值为多少,不知道应该遍历多少次。
官方给的解释:
方法三:数组翻转
先来看评论区的解释:
基本思想:
当我们将数组的元素向右移动 k次后,尾部 k mod n 个元素会移动至数组头部,其余元素向后移动 k mod n个位置。
这个方法很简单很直观,很暴力
新建一个数组,将对应的位置赋值过来,再将转移后的数组赋值回原数组即可。
我最开始的想法类似于这个环状替换,但无奈没想出来这个count的值为多少,不知道应该遍历多少次。
官方给的解释:
先来看评论区的解释:
基本思想:
当我们将数组的元素向右移动 k次后,尾部 k mod n 个元素会移动至数组头部,其余元素向后移动 k mod n个位置。