设计一个算法把一个含有N个元素的数组循环右移K位,要求时间复杂度为O(N),且只允许使用两个附加变量。

------------------------------------------------------------------------------------------------------

答案:

每个元素右移N位后都会回到自己的位置上。因此,如果K>N,右移K-N之后的数组序列跟右移K位的结果是一样的,所以右移K位即,右移K‘=K%N位。
代码如下
RightShift(int* arr,int N,int K)
{
K%=N;
while(K--){
int t=arr[N-1];
for(int i=N-1;i>0;i--)
arr[i]=arr[i-1];
arr[0]=t;
}
}

转载于:https://www.cnblogs.com/SCUTMSTechClub/archive/2011/01/03/1925070.html

[科技部与你共成长] 数组循环移位相关推荐

  1. [科技部与你共成长] 倒牛奶

    农夫John有三个装牛奶的桶,容量分别为A.B.C,数字A.B.C是1到15的整数,开始时A桶.B桶为空,C桶装满牛奶.农夫John装牛奶从一个桶倒向另一个桶,直到该桶为空或另一个桶满为止,一个倒牛奶 ...

  2. 2亿美元投入+软硬件新服务!华为加速构建计算产业生态,侯金龙:要与开发者共成长...

    乾明 边策 发自 凹非寺  量子位 报道 | 公众号 QbitAI 更便捷的开发工具和平台,更强劲的2亿美元投入,全天候专家在线服务计划-- 这就是华为最新的开发者扶持组合拳,也是华为正在举办的开发者 ...

  3. 【算法分析与设计】数组循环移位问题

    数组循环移位问题存在一则优质的算法:时间复杂度 O ( n ) O(n) O(n),空间复杂度O(1),来自Brian Kernighan的<Software Tools in Pascal&g ...

  4. 【马红“名师+”研修共同体】师徒结对传帮带,青蓝同心共成长

    工作简报 为加快青年教师的成长步伐,真正发挥名师示范.引领作用,6月8日上午马红"名师+"研修共同体送教活动暨"青蓝工程"启动仪式在刘集镇中心小学举行. 活动伊 ...

  5. 带你走进与千万数据通信者共成长的“家园”

    摘要:本文介绍开发者如何使用华为数通开发者社区. 本文分享自华为云社区<华为数据通信开发者社区-----以澎湃动力引领智能IP网络>,原文作者:长期飘在公有云上. 一.数据通信开发者生态愿 ...

  6. 编程之美2.17 数组循环移位

    这是一个很经典的题目,题目的大概意思是这样的:       有一个存储字符串的数组,需要按照要求循环移动数组中的字符,例如,数组中存储字符 abcd1234,循环右移4位,之后,会得到这样一个字符数组 ...

  7. 程序员面试100题之十一:数组循环移位

    设计一个算法,把一个含有N个元素的数组循环右移K位,要求时间复杂度为O(N),且只允许使用两个附加变量. 不合题意的解法如下: 我们先试验简单的办法,可以每次将数组中的元素右移一位,循环K次.abcd ...

  8. 龙芯.NET正式发布 开源共享与开发者共成长

    2020年12月19日,2020中国. NET开发者大会于苏州盛大开幕.本次大会以"开源.共享.创新"为主题,以线下城市苏州为中心,覆盖北京.上海.深圳.广州.长沙.成都.厦门.胶 ...

  9. 华为:与全球180万云与计算开发者共成长,共创行业新价值

    摘要:9月25日,在HUAWEI CONNECT 2020上,华为发布一站式AI开发平台ModelArts 3.0和多样性计算系列开发套件,云与计算开发者已达180万.为推进计算产业人才培养,教育部. ...

最新文章

  1. 多线程并行和并发的区别
  2. visual studio intergration
  3. 容器生态系统 (续) - 每天5分钟玩转容器技术(3)
  4. ajax原理 博客,AJAX工作基本原理
  5. 亿级流量场景下的平滑扩容:TDSQL的水平扩容方案实践
  6. html 5 canvas flash,为什么使用HTML5 Canvas创建内容比使用Flash创作要复杂得多?
  7. Spring Cloud Sleuth + Zipkin + RabbitMQ +MySQL(三)
  8. Apache禁止指定的user_agent、指定目录被访问
  9. 【渝粤教育】国家开放大学2018年秋季 0221-22T数字电子电路 参考试题
  10. Android用户界面 UI组件--AdapterView及其子类(一) ListView及各种Adapter详解
  11. 在线轻松制作微信公众号封面次图的方法
  12. Eplan P8 2.7 win7/win10 安装(附带资源链接)已更新链接_20210617
  13. CentOS8下超详细安装配置kubernetes(K8S)
  14. 怎样使用GPT案例:使用GPT获得OPPO终止ZEKU芯片业务需要的背景知识
  15. Maven Docker几个插件打包+推送到镜像仓库或者私服(Harbor)的方法
  16. 多家机构宣布接入文心一言能力
  17. Taro引入阿里图标
  18. threejs全景图片展示
  19. 紫晶存储研发核心成员离职,不受影响是真的么?
  20. 13、Zookeeper 分布式集群管理技术

热门文章

  1. 数据仓库、数据湖、流批一体
  2. Intellij IDEA集成JProfiler性能分析神器
  3. ElasticSearch5.5.1插件分类
  4. HBase数据存储格式
  5. python数据结构和算法3 栈、队列和排序
  6. vmware_vcenter_api
  7. 设计算法时要确保分类讨论的完备性
  8. mysql首次安装后原始密码存放位置
  9. Spring事务处理,以及Spring事务的传播属性和隔离级别
  10. 1707: [Usaco2007 Nov]tanning分配防晒霜