//调用sort方法classSolution{publicint[]sortedSquares(int[] nums){for(int i =0; i < nums.length; i++){
nums[i]= nums[i]* nums[i];}Arrays.sort(nums);return nums;}}
//双指针classSolution{publicint[]sortedSquares(int[] nums){int len = nums.length;int[] ans =newint[len];int k = len -1;for(int i =0, j = len -1; i <= j;){if(nums[i]* nums[i]>= nums[j]* nums[j]){
ans[k--]= nums[i]* nums[i];
i++;}else{
ans[k--]= nums[j]* nums[j];
j--;}}return ans;}}
//双指针classSolution{publicintminSubArrayLen(int target,int[] nums){int len =Integer.MAX_VALUE;int i =0;int sum =0;for(int j =0; j < nums.length; j++){
sum += nums[j];while(sum >= target){
len =Math.min(j - i +1, len);
sum -= nums[i++];}}return len ==Integer.MAX_VALUE ?0: len;}}
//偏移量法classSolution{publicint[] dx ={1,0,-1,0};publicint[] dy ={0,-1,0,1};publicint t =3;publicint[][]generateMatrix(int n){int[][] ans =newint[n][n];for(int i =1, x =0, y =0; i <= n * n; i++){
ans[x][y]= i;int a = x + dx[t], b = y + dy[t];if(a <0|| a >= n || b <0|| b >= n || ans[a][b]!=0){
t =(t +1)%4;
a = x + dx[t];
b = y + dy[t];}
x = a;
y = b;}return ans;}}