LeetCode(977) 有序数组的平方
import java.util.Arrays;
class Solution {
public int[] sortedSquares(int[] nums) {
for (int nums2 = 0; nums2 < nums.length; nums2++) {
nums[nums2]=nums[nums2]*nums[nums2];
}
Arrays.sort(nums);//调用数组排序方法
//常规冒泡排序方法和选择排序方法
return nums;
}
}
LeetCode(209) 长度最小的子数组
class Solution {
public int minSubArrayLen(int target, int[] nums) {
int count=nums.length;
int sum=0;
for (int i = 0; i < nums.length; i++) {
if(target<=nums[i]){
return 1;
}
sum+=nums[i];
}
if(sum<target){
return 0;
}
//利用双指针滑动窗口解题:你定一个位置,使我到达你哪里达到最小值
int i=0;
int sum1=0;
for (int j = 0; j < nums.length; j++) {
sum1+=nums[j];
while (sum1>=target) {
int countflag=j-i+1;
count=(count<countflag?count:countflag);
sum1-=nums[i++];
}
}
return count;
}
}
LeetCode(59) 螺旋矩阵II
class Solution {
public int[][] generateMatrix(int n) {
int startX=0;
int startY=0;
int flag=1;
int count=1;
int arr[][]=new int[n][n];
for (int i = 0; i < n/2; i++) {//通过i去控制外圈数
//遵循左闭右开,转个完整的圈
for(int j1=startY;j1<n-flag;j1++){
arr[startX][j1]=count++;
}
for(int i1=startX;i1<n-flag;i1++){
arr[i1][n-flag]=count++;
}
for(int j2=n-flag;j2>i;j2--){
arr[n-flag][j2]=count++;
}
for(int i2=n-flag;i2>i;i2--){
arr[i2][i]=count++;
}
startX++;
startY++;
flag++;
}
if(n%2!=0){
arr[n/2][n/2]=count;
}
return arr;
}
}