数组旋转 返回将一维数组向右旋转k个位置的结果。比如,一维数组{1,2,3,4,5},k=2时,返回结果{4,5,1,2,3}。要求常数级空间复杂度,允许修改原有数组
来源:互联网 发布:fastdfs java 编辑:程序博客网 时间:2024/05/21 12:47
public class num4 {
int[] rotateK(int[] A,int k){
if(A==null || k>=A.length) return A;
reverse(A,0,A.length-1);
reverse(A, 0, k-1);
reverse(A, k, A.length-1);
return A;
}
void reverse(int[] A,int start,int end){
while(start<end){
int temp = A[start];
A[start] = A[end];
A[end] = temp;
start++;
end--;
}
}
public static void main(String[] args) {
int[] A = {1,2,3,4,5};
int k = 2;
new num4().rotateK(A, k);
for (int i = 0; i < A.length; i++) {
System.out.print(" " + A[i] + " ");
}
}
}
int[] rotateK(int[] A,int k){
if(A==null || k>=A.length) return A;
reverse(A,0,A.length-1);
reverse(A, 0, k-1);
reverse(A, k, A.length-1);
return A;
}
void reverse(int[] A,int start,int end){
while(start<end){
int temp = A[start];
A[start] = A[end];
A[end] = temp;
start++;
end--;
}
}
public static void main(String[] args) {
int[] A = {1,2,3,4,5};
int k = 2;
new num4().rotateK(A, k);
for (int i = 0; i < A.length; i++) {
System.out.print(" " + A[i] + " ");
}
}
}
0 0
- 数组旋转 返回将一维数组向右旋转k个位置的结果。比如,一维数组{1,2,3,4,5},k=2时,返回结果{4,5,1,2,3}。要求常数级空间复杂度,允许修改原有数组
- 乐视面试题一个数组,找出数组中没有出现的最小的一个数字,比如[1,2,0],返回3,[1,2,4,5]返回3
- 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组
- 求旋转数组的最小元素(把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3, 4, 5, 1, 2}为{1, 2, 3
- leetcode之数组类之数组的旋转与分治类-----OJ 189/33/81/153/154 数组旋转 旋转数组搜索 88 有序数组合并 4 两个有序数组寻找第K个元素/中位数 35 寻找插入位置
- 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数
- 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数
- 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数
- 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数
- java实现把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如{3,4,5,1,2}为{1,2,3,4,5}
- 数组左旋转k位
- 阿里笔试题请设计一个算法,在满足质因数仅为3,5,7或其组合的数中,找出第K大的数。比如K=1,2,3时,分别应返回3,5,7。要求算法时间复杂度最优。
- (最优解)阿里笔试题请设计一个算法,在满足质因数仅为3,5,7或其组合的数中,找出第K大的数。比如K=1,2,3时,分别应返回3,5,7。要求算法时间复杂度最优。
- 【数组2】-旋转数组的最小值
- 数组2:旋转数组的最小数字
- 要求: 生成一个4*4的2维数组并将其顺时针旋转90度
- 按位置旋转一维数组算法
- 2、往数组int array[] = {1,2,3,4,5,6,7}第3个位置插入一个数8,最后的结果应该为{1,2,3,8,4,5,6,7}
- DoTween 二:< 常用方法 —— 实现颜色渐变>
- 官网Maven简介
- 妙味js视频学习之旅(二)
- BZOJ 2653 middle 二分+主席树
- Install cuda7.5 in ubuntu14.04
- 数组旋转 返回将一维数组向右旋转k个位置的结果。比如,一维数组{1,2,3,4,5},k=2时,返回结果{4,5,1,2,3}。要求常数级空间复杂度,允许修改原有数组
- 初学机器学习的四种方式
- Java内部类、本地类、匿名类、文件类解读
- Linux系统安装Python
- Java IO 之 OutputStream源码
- bzoj1782: [Usaco2010 Feb]slowdown 慢慢游
- 默认拷贝构造函数究竟是什么
- hp一阶段考核
- pt-config-diff