977. 有序数组的平方
给你一个按 非递减顺序 排序的整数数组
nums
,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
public int[] sortedSquares(int[] nums) {
int len = nums.length;
int tag = -1;
for(int i=0;i<len;++i){
if(nums[i] < 0){
tag = i;
}else{
break;
}
}
int[] array =new int[len];
int index = 0,i = tag,j=tag + 1;
while(i>=0 || j < len){
if(i<0){
array[index] = nums[j] * nums[j];
++j;
}else if(j == len){
array[index] = nums[i] * nums[i];
--i;
}else if(nums[i]*nums[i] < nums[j]*nums[j]){
array[index] = nums[i]*nums[i];
--i;
}else{
array[index] = nums[j]*nums[j];
++j;
}
++index;
}
return array;
}
给你一个数组,将数组中的元素向右轮转
k
个位置,其中k
是非负数。
public void rotate(int[] nums, int k) {
int len = nums.length;
int n = k%len;
overturn(nums, 0, len - 1);
overturn(nums, 0, n-1);
overturn(nums, n, len-1);
}
public void overturn(int[] nums,int start,int end){
while(start < end){
int temp = nums[start];
nums[start] = nums[end];
nums[end] = temp;
++start;
--end;
}
}