建站工具缺点施工企业造价管理
建站工具缺点,施工企业造价管理,东莞做网站多少钱,wordpress主题花园牛客题霸 [ 旋转数组] C题解/答案
题目描述
一个数组A中存有N#xff08;Ngt0#xff09;个整数#xff0c;在不允许使用另外数组的前提下#xff0c;将每个整数循环向右移M#xff08;M0#xff09;个位置#xff0c;即将A中的数据由#xff08;A0 A1 ………牛客题霸 [ 旋转数组] C题解/答案
题目描述
一个数组A中存有NNgt0个整数在不允许使用另外数组的前提下将每个整数循环向右移MM0个位置即将A中的数据由A0 A1 ……AN-1 变换为AN-M …… AN-1 A0 A1 ……AN-M-1 最后M个数循环移至最前面的M个位置。如果需要考虑程序移动数据的次数尽量少要如何设计移动的方法
题解
很多人都用额外的变量来实现移动我这提供一个比较巧妙的思路 [1,2,3,4,5,6]—[5,6,1,2,3,4] 我们可以先将整个数组翻转 就成[6,5,4,3,2,1] 因为是移动m所以我们前m个数字再翻转 就成[5,6,4,3,2,1] 我们再将第m1位到最后所有数翻转 就成[5,6,1,2,3,4] 这样就实现了移动还没有用到其他任何变量
代码
class Solution {
public:/*** 旋转数组* param n int整型 数组长度* param m int整型 右移距离* param a int整型vector 给定数组* return int整型vector*/vectorint solve(int n, int m, vectorint a) {// write code herem m%n;reverse(a.begin(), a.end());reverse(a.begin(), a.begin()m);reverse(a.begin()m, a.end());return a;//return a;}
};
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91552.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!