我尝试在大小为 n 的数组上实现左旋转。例如,我有
数组 = {1,2,3,4,5};
我有几个班次:
班次 = 2;
处理数组后,它必须如下所示:
数组 = {3,4,5,1,2};
我用两个for循环实现了它:
var array = new int[]{1,2,3,4,5};
var shifts =3;
var temp = 0;
for(var j = 0; j < shifts; j++){
temp = array[0];
for(var i = 0; i < array.Length -1; i++){
array[i] = array[i + 1];
}
array[array.Length-1] = temp;
}
for(var i =0 ; i< array.Length; i++){
System.Console.Write(array[i]+ " ");
}
Console.Read();
它正在工作,但它没有通过一些数组中有大量数字的测试,我因超时错误而被终止;
有没有办法在一个循环中实现左旋转?
泛舟湖上清波郎朗
Helenr
忽然笑
DIEA
相关分类