本文将提供力扣977. 有序数组的平方;209. 长度最小的子数组; 59.螺旋数组的一些解决方法
977. 有序数组的平方
class Solution {
public int[] sortedSquares(int[] nums) {
int temp = 0;
for(int i = 0; i < nums.length; i++){
nums[i] = nums[i] * nums[i];
}
for(int i = 0; i < nums.length; i++){
int k = i;
for(int j = i; j < nums.length;j++){
if(nums[k] > nums[j]){
temp = nums[j];
nums[j] = nums[k];
nums[k] = temp;
}
}
}
return nums;
}
}
209. 长度最小的子数组
public class eee {
public int minSubArrayLen(int target, int[] nums) {
int left = 0;
int num = 1;
int sum = 0;
boolean loopFlag = true;
while(loopFlag){
for(int i = left; i < left + num; i++){
sum += nums[i];
}
if(sum >= target){
loopFlag = false;
return num;
}else{
left++;
}
if(left > nums.length - num){
num++;
left = 0;
}
if(num > nums.length){
loopFlag = false;
}
sum = 0;
}
return 0;
}
}
public class eee {
public int minSubArrayLen(int target, int[] nums) {
int left = 0;
int num = 1;
int sum = 0;
boolean loopFlag = true;
while(loopFlag){
for(int i = left; i < left + num; i++){
sum += nums[i];
}
if(sum >= target){
loopFlag = false;
return num;
}else{
left++;
}
if(left > nums.length - num){
num++;
left = 0;
}
if(num > nums.length){
loopFlag = false;
}
sum = 0;
}
return 0;
}
}
59.螺旋数组
class Solution {
public int[][] generateMatrix(int n) {
int startx = 0, starty = 0;
int loop = n / 2;
int mid = n / 2;
int count = 1;
int offset = 1;
int i , j;
int[][] nums = new int[n][n];
while(loop-- > 0){
i = startx;
j = starty;
for(j = starty; j < starty + n - offset; j++){
nums[startx][j] = count++;
}
for(i = startx; i < startx + n - offset; i++){
nums[i][j] = count++;
}
for(;j > starty; j--){
nums[i][j] = count++;
}
for(;i > startx; i--){
nums[i][j] = count++;
}
startx++;
starty++;
offset += 2;
}
if(n % 2 == 1){
nums[mid][mid] = count;
}
return nums;
}
}