草庐IT

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

文章目录977有序数组的平方思路代码总结209长度最小的子数组思路代码总结59螺旋矩阵II思路代码总结977有序数组的平方思路一开始忘记之前的思路了,看来还是要多复习这道题也可以理解为双指针。因为原数组是非递减的,所以最左小,最右大,但同时,最左可能是负数,负数最小时,它的绝对值是最大。新数组存的是平方,因此,最大的平方只可能由数组两端的数字生成。代码classSolution{public:vectorint>sortedSquares(vectorint>&nums){//快慢指针//因为原数组是非递减的,所以最左小,最右大//最左可能是负数,负数最小时,它的绝对值是最大//求的是平方,因

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

文章目录977有序数组的平方思路代码总结209长度最小的子数组思路代码总结59螺旋矩阵II思路代码总结977有序数组的平方思路一开始忘记之前的思路了,看来还是要多复习这道题也可以理解为双指针。因为原数组是非递减的,所以最左小,最右大,但同时,最左可能是负数,负数最小时,它的绝对值是最大。新数组存的是平方,因此,最大的平方只可能由数组两端的数字生成。代码classSolution{public:vectorint>sortedSquares(vectorint>&nums){//快慢指针//因为原数组是非递减的,所以最左小,最右大//最左可能是负数,负数最小时,它的绝对值是最大//求的是平方,因

day2-数组part02| 977.有序数组的平方、 209.长度最小的子数组、 59.螺旋矩阵II

977.有序数组的平方思路数组平方后的最大值只可能在数组两端,不可能在中间设置双指针,比较两个指针所指值的大小,记录较大值,接着向中间移动这个指针结束条件:左右指针相背classSolution{public:vectorint>sortedSquares(vectorint>&nums){intk=nums.size()-1;vectorint>result(nums.size(),0);inti=0,j=nums.size()-1;while(ij){//注意这里要iif(nums[i]*nums[i]nums[j]*nums[j]){result[k]=nums[j]*nums[j];k

day2-数组part02| 977.有序数组的平方、 209.长度最小的子数组、 59.螺旋矩阵II

977.有序数组的平方思路数组平方后的最大值只可能在数组两端,不可能在中间设置双指针,比较两个指针所指值的大小,记录较大值,接着向中间移动这个指针结束条件:左右指针相背classSolution{public:vectorint>sortedSquares(vectorint>&nums){intk=nums.size()-1;vectorint>result(nums.size(),0);inti=0,j=nums.size()-1;while(ij){//注意这里要iif(nums[i]*nums[i]nums[j]*nums[j]){result[k]=nums[j]*nums[j];k

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

文章目录代码随想录算法训练营第二天|977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵||一、有序数组的平方算法1)暴力求解2)双指针法源码二.长度最小的子数组算法滑动窗口滑动窗口介绍:源码复杂度分析三、螺旋矩阵||算法1)基本思想2)打印(赋值)源码复杂度分析java提交问题分析代码随想录算法训练营第二天|977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵||一、有序数组的平方977.有序数组的平方提示:111算法1)暴力求解  就是先遍历数组,每一个数平方后,调用STL的sort函数(快速排序)进行排序,复杂度就是O(n+logn)O(n+logn)O(n+lo

代码随想录算法训练营第二天 | 滑动窗口系列(209、904、76)<>螺旋矩阵系列(59、54、剑指Offer 29)

滑动窗口和移除元素977有序数组的平方代码随想录的代码滑动窗口注意点209长度最小的子数组没思路我的错误代码代码随想录的代码我的代码我的代码2力扣的示例代码904水果成篮不会做我的错误代码力扣的示例代码录友的代码感悟76最小覆盖子串不会不会不会!不知道怎么移动start指针我的错误代码录友的代码1录友的代码2录友的代码3力扣的示例代码螺旋矩阵注意点59螺旋矩阵第一眼看上去没思路代码随想录的代码力扣的示例代码54螺旋矩阵我的代码力扣的示例代码根据力扣给出的解答,自己又改进的一版代码:一位录友的思路:经录友启发的有一个版本:剑指Offer29(与54题完全相同)参考977有序数组的平方小记:这道题

秋招算法备战第2天 | 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II

977.有序数组的平方-力扣(LeetCode)双指针法一次AC,主要思想为,从大往小保存然后倒序返回classSolution:defsortedSquares(self,nums:List[int])->List[int]:iflen(nums)==0:returnnumsnew_nums=[]l=0r=len(nums)-1whilelr:ifabs(nums[l])>=abs(nums[r]):new_nums.append(nums[l]**2)l+=1else:new_nums.append(nums[r]**2)r-=1returnnew_nums[::-1]209.长度最小的子

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

977.有序数组的平方题目:给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。题解:classSolution{public:vectorint>sortedSquares(vectorint>&nums){inti=0,j=nums.size()-1;vectorint>res(nums.size(),0);//存放结果for(intk=nums.size()-1;k>=0;k--){if(abs(nums[i])>abs(nums[j])){//哪个大放那个res[k]=nums[i]*nums[i];i++;}else{res[k]=nu

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

代码随想录算法训练营第二天|977.有序数组平方、209.长度最小的子数组、59.螺旋矩阵II(Java)977.有序数组平方给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。code-暴力解packagecom.shuzijun.leetcode.editor.en;publicclassSquaresOfASortedArray{publicstaticvoidmain(String[]args){Solutionsolution=newSquaresOfASortedArray().newSolution();}//先生成结果数组,在排序

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

练习题977.有序数组的平方209.长度最小的子数组59.螺旋矩阵II977.有序数组的平方1、自己看到题目的第一想法:(思路1)先算平方,后qsort排序2、知识点:qsort排序【qsort排序】//1、对int数组进行排序(从小到大)intnum[100];intcmp(constvoid*a,constvoid*b){return(*(int*)a-*(int*)b);}qsort(num,100,sizeof(num[0]),cmp);//2、对char数组进行排序charword[100];intcmp(constvoid*a,constvoid*b){return(*(char*