### 977
```C++
//暴力
#include<math.h>
#include<algorithm>
class Solution {
public:
vector<int> sortedSquares(vector<int>& nums) {
int slow=0,fast=0;
vector<int> res;
while(fast<nums.size()){
res.push_back(pow(nums[fast],2));
fast++;
}
sort(res.begin(),res.end());
return res;
}
};
/*
一开始并未想到这个通过头尾指针控制,而是想到了快慢指针,怎么也想不通,看了视频思路一下就写出来了
*/
#include<algorithm>
#include<math.h>
class Solution {
public:
vector<int> sortedSquares(vector<int>& nums) {
int slow=0,fast=nums.size()-1,count=nums.size()-1;
vector<int> res(nums.size(),0);
while(fast>=slow){
if(nums[fast]*nums[fast]>nums[slow]*nums[slow]){
res[count--]=nums[fast]*nums[fast];
fast--;
}else{
res[count--]=nums[slow]*nums[slow];
slow++;
}
}
return res;
}
};
```
### 209
```C++
//这个滑动窗口内部的while循环没想到,res这个判断条件没想到
class Solution {
public:
int minSubArrayLen(int target, vector<int>& nums) {
int slow=0,fast=0;
int sum=0,res=nums.size()+1,subl=0;
while(fast<nums.size()){
sum+=nums[fast++];
while(sum>=target){
subl=fast-slow;
sum-=nums[slow++];
res=min(res,subl);
}
}
if(res==nums.size()+1){
return 0;
}
return res;
}
};
```
### 59
```c++
/*
1. vector二维数组的定义vector<vector<int>> x(n,vector<int>(n,0))
2. 边界条件保持一致
3. 奇数需要给中心位置赋值
*/
#include<vector>
class Solution {
public:
vector<vector<int>> generateMatrix(int n) {
int count=1;
int startx=0,starty=0,offset=1;
int num=n/2;
int i=0,j=0;
vector<vector<int>> res(n,vector<int>(n,0));
while(num){
for(j=starty;j<n-offset;j++){
res[startx][j]=count++;
}
for(i=startx;i<n-offset;i++){
res[i][j]=count++;
}
for(;j>starty;j--){
res[i][j]=count++;
}
for(;i>startx;i--){
res[i][j]=count++;
}
startx++;
starty++;
offset++;
num--;
}
if(n%2!=0){
res[startx][starty]=n*n;
}
return res;
}
};
```
总结:思维有点僵化,不知道是不是刷题少的缘故。