977. 有序数组的平方 - 力扣(LeetCode)
class Solution {
public:
vector<int> sortedSquares(vector<int>& nums) {
for(int i=0;i<nums.size();i++){
nums[i]*=nums[i];
}
sort(nums.begin(),nums.end());
return nums;
}
};
class Solution {
public:
vector<int> sortedSquares(vector<int>& nums) {
vector<int> arr(nums.size());
int k=nums.size()-1;
for(int i=0,j=nums.size()-1;i<=j;){
if(pow(nums[i],2)<pow(nums[j],2)){
arr[k--]=pow(nums[j],2);
j--;
}else{
arr[k--]=pow(nums[i],2);
i++;
}
}
return arr;
}
};
209. 长度最小的子数组 - 力扣(LeetCode)
class Solution {
public:
int minSubArrayLen(int target, vector<int>& nums) {
int res=INT_MAX;
vector<int> s(nums.size()+1,0);
for(int i=1;i<s.size();i++){
s[i]=s[i-1]+nums[i-1];
}
int start=0;
int end=0;
while(end<nums.size()){
if(s[end+1]-s[start]>=target){
res=min(end-start+1,res);
start++;
}else{
end++;
}
}
return res==INT_MAX ? 0 : res;
}
};
class Solution {
public:
int minSubArrayLen(int target, vector<int>& nums) {
int res=INT_MAX;
int start=0;
int sum=0;
for(int end=0;end<nums.size();end++){
sum+=nums[end];
while(sum>=target){
res=min(res,end-start+1);
sum-=nums[start++];
}
}
return res==INT_MAX ? 0:res;
}
};
59. 螺旋矩阵 II - 力扣(LeetCode)
class Solution {
public:
vector<vector<int>> generateMatrix(int n) {
vector<vector<int>> matrix(n,vector<int>(n));
int left=0;
int right=n-1;
int top=0;
int bottom=n-1;
int count=1;
while(left<=right&&top<=bottom){
//左到右
for(int i=left;i<=right;i++){
matrix[top][i]=count++;
}
top++;
//上到下
for(int i=top;i<=bottom;i++){
matrix[i][right]=count++;
}
right--;
//右到左
for(int i=right;i>=left&&bottom>=top;i--){
matrix[bottom][i]=count++;
}
bottom--;
//下到上
for(int i=bottom;i>=top&&left<=right;i--){
matrix[i][left]=count++;
}
left++;
}
return matrix;
}
};