时间:2021-05-19
题:
如标题,要求时间复杂度为O(N)。
解法:
右移k位,前k位逆序,后N-k位逆序,再整个逆序即可。
复制代码 代码如下:
#include <stdio.h>
#include <stdlib.h>
void reverse(int* array, int b, int e)
{
int temp = 0;
for(; b < e; b++,e--)
{
temp = array[e];
array[e] = array[b];
array[b] = temp;
}
return;
}
void rightShift(int* array, int n, int k)
{
k = k % n;
reverse(array, 0, n - k - 1);
reverse(array, n - k, n - 1);
reverse(array, 0, n - 1);
return;
}
int main()
{
int array[] = {6,7,8,9,1,2,3,4};
int i = 0;
rightShift(array, 8, 4);
for (; i < 8; i++)
{
printf("%d\n", array[i]);
}
return 0;
}
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
如下所示:#includeintmain(){intnum[5],num1[5];inti,j,k=1;intt,n;print
题目:如何在python中实现整数的二进制循环移位?概述在python中,可以通过运算符实现二进制的左移位以及右移位,然而并没有实现循环移位的运算符,暂时也找不
1、v-for循环普通数组①创建vue对象②循环数据结果:2、v-for循环对象数组①创建vue实例对象②循环对象数组结果:3、v-for循环对象①创建vue对
本文实例分析了PHP数组游标实现对数组的各种操作。分享给大家供大家参考,具体如下:如何不用foreach实现对数组实现循环?答:我们只需要模拟forea
基本知识点IP——>整数:把IP地址转化为字节数组通过左移位(>>),右移24位,再进行与操作符(&)0xFF,得到的数字即为第一段IP。将整数值进行右移位操作