Rotate Array
来源:互联网 发布:什么事windows原版系统 编辑:程序博客网 时间:2024/06/08 17:17
void rotate(int* nums, int numsSize, int k) {
void rotateSubStr(int* nums,int numsSize,int begin,int end);
if(nums==NULL||numsSize<=0||k<0)
return;
k=k%numsSize;
rotateSubStr(nums,numsSize,0,numsSize-k-1);
rotateSubStr(nums,numsSize,numsSize-k,numsSize-1);
rotateSubStr(nums,numsSize,0,numsSize-1);
}
void rotateSubStr(int* nums,int numsSize,int begin,int end){
if(nums==NULL||numsSize<=0||begin<0||end>=numsSize||begin>end)
return;
int mid=(begin+end)/2;
for(int i=begin,j=end;i<=mid;++i,--j){
int temp;
temp=nums[i];
nums[i]=nums[j];
nums[j]=temp;
}
}
void rotateSubStr(int* nums,int numsSize,int begin,int end);
if(nums==NULL||numsSize<=0||k<0)
return;
k=k%numsSize;
rotateSubStr(nums,numsSize,0,numsSize-k-1);
rotateSubStr(nums,numsSize,numsSize-k,numsSize-1);
rotateSubStr(nums,numsSize,0,numsSize-1);
}
void rotateSubStr(int* nums,int numsSize,int begin,int end){
if(nums==NULL||numsSize<=0||begin<0||end>=numsSize||begin>end)
return;
int mid=(begin+end)/2;
for(int i=begin,j=end;i<=mid;++i,--j){
int temp;
temp=nums[i];
nums[i]=nums[j];
nums[j]=temp;
}
}
0 0
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- rotate array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- Rotate Array
- Opencv模板匹配运用
- hadoop hive hbase 集群搭建
- Reverse Linked List
- Scala基础语法(声明定义、标识符命名、Scala脚本入门)
- 最小包围矩形
- Rotate Array
- JEECG-自己用代码生成器生成的controller类是怎样进行数据持久化的
- Struts2学习笔记
- Mac BetterTouchTool 工具的介绍
- LQR 的直观推导及简单应用
- RecyclerView
- 使用Python实现Hadoop MapReduce程序
- ThinkPHP模板IF标签用法详解
- 计算器(java)