草庐IT

代码随想录算法训练营第二天|977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II

有序数组的平方题目建议:本题关键在于理解双指针思想暴力排序:时间复杂度大,代码直观双指针法:时间复杂度低,思路值得学习。注意:数组的初始化代码;for循环条件的编写长度最小的子数组题目建议:本题关键在于理解滑动窗口,这个滑动窗口看文字讲解还挺难理解的,建议大家先看视频讲解。拓展题目可以先不做暴力解法:时间复杂度过大,力扣提示超时;if中判断条件滑动窗口:不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果;精髓解法;for循环内不用像暴力解法一样(sum=0);while循环内,子数组长度的计算(i++应写在计算长度之后)注意:break只能退出当前循环,如有多层循环嵌套,则只能退出当

代码随想录算法训练营第二天| 977.有序数组的平方 209.长度最小的数组 59.螺旋矩阵II(Java)

977.有序数组的平方题目链接:有序数组的平方初印象在昨天积极做扩展题目时,已经接触过本道题目,当时的方法是双指针法代码classSolution{publicint[]sortedSquares(int[]nums){intleft=0;intright=nums.length-1;int[]arr=newint[nums.length];inti=nums.length-1;while(leftright){if(nums[left]*nums[left]>nums[right]*nums[right]){arr[i]=nums[left]*nums[left];i--;left++;}i

代码随想录算法训练营第2天 | Leetcode977 有序数组的平方, 209 长度最小的子数组,59螺旋矩阵

@代码随想录算法训练营第2天|Leetcode977有序数组的平方,209长度最小的子数组,59螺旋矩阵977有序数组的平方视频链接:https://www.bilibili.com/video/BV1fA4y1o715/?share_source=copy_web&vd_source=ea38fc37ab446e2a02645366e71adf5d第一遍读题思考(五分钟内,如果没有思路就写暴力解法思路,暴力解法思路也不清晰就写无)双指针法,之前刷过,但是具体细节忘记了。代码随想录解法思路两边双指针。因为最大值只能出现在数组的两端(递增数组,有负数。)所以一个指针从头,另一个指针从末端遍历。首

看完这篇文章你就彻底懂啦{保姆级讲解}-----(LeetCode刷题59螺旋矩阵II) 2023.4.20

目录前言算法题(LeetCode刷题59螺旋矩阵II)—(保姆级别讲解)分析题目:算法思想(重要)螺旋矩阵II代码:结束语前言本文章一部分内容参考于《代码随想录》----如有侵权请联系作者删除即可,撰写本文章主要目的在于记录自己学习体会并分享给大家,全篇并不仅仅是复制粘贴,更多的是加入了自己的思考,希望读完此篇文章能真正帮助到您!!!算法题(LeetCode刷题59螺旋矩阵II)—(保姆级别讲解)力扣题目链接分析题目:元素按照顺时针顺序螺旋排列的正方形矩阵正方形:就需要保证每一边的长度是不变的遍历过程需要保证循环不变量原则算法思想(重要)什么是循环不变量原则?在之前的二分查找中我们就已经运用了

[自我记录]随想录刷题第二天 | 977.有序数组的平方,209.长度最小的子数组,59.螺旋矩阵II

 代码随想录打卡第二天,新手自我记录一下刷题历程,仅为自我打卡使用.今天刷了三道主题,第一道双指针和第三道模拟做出来了,第二道写出了暴力解法但是提交leetcode超时了,测试用例过了18/20,看了carl哥答案以后自己重新补写了滑动窗口方法.977.有序数组的平方简单题,要求时间复杂度O(n),考虑使用双指针.观察到数组为有序数组,可能有负数.建立一个与输入等长的新数组作为容器,双指针分别指向输入数组的两端,不断比较指针所指的元素的平方值的大小,将较大的一端放入新容器并移动指针位置.classSolution{public:vectorsortedSquares(vector&nums){

代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

977.有序数组的平方题目链接:977.有序数组的平方题目描述:给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。看到第一印象,采用暴力解法,爽歪歪,且没有超过时间限制。代码如下:classSolution{public:vectorint>sortedSquares(vectorint>&nums){vectorint>result;for(inti=0;inums.size();i++){result.push_back(nums[i]*nums[i]);}sort(result.begin(),result.end());returnre

代码随想录算法训练营第二天|LeetCode977.有序数组的平方、LeetCode209.长度最小的子数组、LeetCode59.螺旋矩阵II。

LeetCode977.有序数组的平方题目链接:LeetCode977.有序数组的平方 暴力解法:classSolution{public:vectorsortedSquares(vector&nums){intsize=nums.size();for(inti=0;i思路:最开始看到这个题的时候,第一反应就是先把每个元素平方,再用一个sort函数进行排序。小结:该解法利用了sort函数,相比起自己写排序函数更为简单,但时间复杂度比双指针法高,应该是比较容易想到的解法。双指针法:classSolution{public:vectorsortedSquares(vector&nums){ints

牛客小白月赛#59(A~F)

牛客小白月赛#59文章目录牛客小白月赛#59A.我会开摆B.走廊的灯C.输出练习D.国际象棋E.弹珠碰撞F.困难卷积A.我会开摆题意给定n=4的方阵,问是否存在n=2的方阵中四个格子全是一个字符的情况题解直接枚举所有点当n=2方阵的左上角,看是否符合题目要求注意:检查n=2的方阵时,要先排除某点为左上角没有n=2方阵情况代码#includeusingnamespacestd;chara[4][4];boolcheck(intx,inty){//检查以该点为左上角的,n=2的方阵是否符合要求charc=a[x][y];for(inti=x;ix+2;i++)for(intj=y;jy+2;j++

刷题day2| 977.有序数组平方 209.长度最小数组,59.螺旋矩阵||

第一章数组part02977.有序数组的平方,209.长度最小的子数组,59.螺旋矩阵II,总结建议大家先独立做题,然后看视频讲解,然后看文章讲解,然后在重新做一遍题,把题目AC,最后整理成今日当天的博客拓展题目可以先不做详细布置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%9

刷题day2| 977.有序数组平方 209.长度最小数组,59.螺旋矩阵||

第一章数组part02977.有序数组的平方,209.长度最小的子数组,59.螺旋矩阵II,总结建议大家先独立做题,然后看视频讲解,然后看文章讲解,然后在重新做一遍题,把题目AC,最后整理成今日当天的博客拓展题目可以先不做详细布置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%9