目录
1.学习内容
(1)977移除元素
题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/
文章讲解:https://programmercarl.com/0977.%E6%9C%89%E5%BA%8F%E6%95%B0%E7%BB%84%E7%9A%84%E5%B9%B3%E6%96%B9.html
视频讲解:http:// https://www.bilibili.com/video/BV1QB4y1D7ep
(2)209长度最小的子数组
题目链接:https://leetcode.cn/problems/minimum-size-subarray-sum/
视频讲解:https://www.bilibili.com/video/BV1tZ4y1q7XE
(3)59螺旋矩阵Ⅱ
题目链接: https://leetcode.cn/problems/spiral-matrix-ii/
文章讲解:https://programmercarl.com/0059.%E8%9E%BA%E6%97%8B%E7%9F%A9%E9%98%B5II.html
视频讲解:https://www.bilibili.com/video/BV1SL4y1N7mV/
2.学习成果
977移除元素
class Solution {
public:
vector<int> sortedSquares(vector<int>& nums) {
int i,j,k;
std::vector<int> result(nums.size(),0);
k=nums.size()-1;
for(i=0,j=nums.size()-1;i<=j;)
{
if(nums[i]*nums[i]>nums[j]*nums[j])
{
result[k--]=nums[i]*nums[i];
i++;
}
else
{
result[k--]=nums[j]*nums[j];
j--;
}
}
return result;
}
};
209长度最小的子数组
class Solution {
public:
int minSubArrayLen(int target, vector<int>& nums) {
int i,j,sum,len;
j=0;
// int result=1000000000;
int result=INT32_MAX;
sum=0;
for(i=0;i<nums.size();i++)
{
sum+=nums[i];
while(sum>=target)
{
len=i-j+1;
sum-=nums[j];
j++;
result=result < len ? result : len;
}
}
return result==INT32_MAX ? 0 : result;
}
};
59螺旋矩阵Ⅱ
class Solution {
public:
vector<vector<int>> generateMatrix(int n) {
int x,y,i,j;
// int nums[n][n];
vector<vector<int>> nums(n,vector<int>(n,0));
x=0;
y=0;
int offset=1;
int count=1;
int z=n/2;
int mid=n/2;
while(z--)
{
//i=x;
//j=y;
for(j=y;j<n-offset;j++)
nums[x][j]=count++;
for(i=x;i<n-offset;i++)
nums[i][j]=count++;
for(;j>y;j--)
nums[i][j]=count++;
for(;i>x;i--)
nums[i][j]=count++;
x++;
y++;
offset++;
}
if(n%2)
nums[x][y]=n*n;
return nums;
}
};