【代码随想录37期】Day02 有序数组的平方、长度最小的子数组、螺旋矩阵Ⅱ
有序数组的平方
977. 有序数组的平方 - 力扣(LeetCode)
(图片来源网络,侵删)
v1.0:直接暴力 4分半做出来,用sort api
class Solution {
public:
vector sortedSquares(vector& nums) {
vector result;
for(int i = 0; i
result.push_back(nums[i]*nums[i]);
}
sort(result.begin(), result.end());
return result;
}
};
v2.0: 13分钟
看过题解之后的做法,使用双指针,从原数组两端收缩,比较平方值大小,放入创建的新数组中
class Solution {
public:
vector
int begin = 0, end = nums.size()-1, i = nums.size()-1;
vector
if(nums[end]*nums[end]=nums[begin]*nums[begin]){
result[i--] = nums[end]*nums[end];
end--;
}
else{
result[i--] = nums[begin]*nums[begin];
begin++;
}
}
return result;
}
};
ret[end--] = nums[right] * nums[right];
ret[end--] = nums[left] * nums[left];
left++;
right--;
}
public:
int minSubArrayLen(int target, vector
vector
int sum = 0, len = 0;
for(int right = left; right 1?result[1]:result[0];
}
};
v2.0:使用滑动窗口 17分钟(后面11分钟在找bug...)
滑动窗口的思想其实很简单,传统暴力使用两个for循环分别控制窗口的边界
滑动窗口重点在于滑~ 所以其中一个边界是靠条件来操控的
class Solution {
public:
int minSubArrayLen(int target, vector& nums) {
int sum = 0, len = 0,left = 0;
vector result;
result.push_back(0);
for(int right = 0; right
sum+=nums[right];
len++;
while(sum=target&&left
result.push_back(len);
sum-=nums[left++];
len--;
}
}
sort(result.begin(), result.end());
return result.size()1?result[1]:result[0];
}
};
v3.0:
前面使用vector有点大材小用,这里将result声明为INT32_MAX可以直接迭代
class Solution {
public:
int minSubArrayLen(int target, vector& nums) {
int sum = 0, len = 0,left = 0,result = INT32_MAX;
for(int right = 0; right
sum+=nums[right];
len++;
while(sum=target&&left
result = len
public:
vector
vector
result[mid][mid] = n * n;
}
int loop = n;
while(loop--){
i = startx;
j = starty;
for(j = starty; j startPointY; i--)
{
matrix[j][i] = content++;
}
for (; j > startPointX; j--)
{
matrix[j][i] = content++;
}
startPointX++;
startPointY++;
step--;
}
return matrix;
}
};
写这道题脑子里要有一个3x3的二维数组
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
