LeetCode977.有序数组的平方
题目:有序数组的平方
class Solution {
public:
vector<int> sortedSquares(vector<int>& nums) {
vector<int> tmp(nums.size(),0);
int k=nums.size()-1;
int i=0,j=nums.size()-1;
for(;i<=j;)
{
if(nums[i]*nums[i]>=nums[j]*nums[j])
{
tmp[k--]=nums[i]*nums[i];
i++;
}
else
{
tmp[k--]=nums[j]*nums[j];
j--;
}
}
for(i=0;i<nums.size();i++)
{
nums[i]=tmp[i];
}
return nums;
}
};
LeetCode209.长度最小的子数组
题目:长度最小的子数组
class Solution {
public:
int minSubArrayLen(int target, vector<int>& nums) {
int re=INT32_MAX;
int begin=0,end=0;
int sum=0;
for(;end<=nums.size()-1;end++)
{
sum+=nums[end];
while(sum>=target)
{
re=min(end-begin+1,re);
sum-=nums[begin];
begin++;
}
}
if(re==INT32_MAX)
return 0;
else
return re;
}
};
LeetCode59.螺旋矩阵
题目:螺旋矩阵
class Solution {
public:
vector<vector<int>> generateMatrix(int n) {
vector<vector<int>> res(n,vector<int>(n,0));
int startx=0,starty=0;
int loop=n/2;
int mid=n/2;
int count=1;
int offset=1;
int i,j;
while(loop--)
{
i=startx;
j=starty;
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++;
}
if(n%2)
res[mid][mid]=count;
return res;
}
};