publicintminSubArrayLen(int target,int[] nums){int left =0;int right =0;int sum =0;int minLen = nums.length +1;while(right < nums.length){
sum += nums[right];// 当一旦大于给定值,便缩小窗口,看左边界收缩后是否最小长度会发生变化while(sum >= target){
minLen =Math.min(minLen, right - left+1);
sum -= nums[left++];}
right++;}// 若不存在最小窗口(数组和 < target)或数组长度为0,则minLen应该赋为0return minLen == nums.length +1?0: minLen;}
59. 螺旋矩阵 II
按照顺时针走路,注意边界的选取
一开始的起点和终点需要选取好,在这,我选择前闭后闭方法
publicint[][]generateMatrix(int n){int[][] res =newint[n][n];int num =1;int matrixNum = n * n;int left =0;int right = n-1;int top =0;int bottom = n-1;while(num <= matrixNum){for(int i = left; i <= right; i++){
res[top][i]= num++;}
top++;for(int i = top; i <= bottom; i++){
res[i][right]= num++;}
right--;for(int i = right; i >= left; i--){
res[bottom][i]= num++;}
bottom--;for(int i = bottom; i >= top; i--){
res[i][left]= num++;}
left++;}return res;}