977.有序数组的平方leetcode题目链接给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100],排序后,数组变为[0,1,9,16,100]示例2:输入:nums=[-7,-3,2,3,11]输出:[4,9,9,49,121]能写出暴力解法,先计算平方然后再排序。嗯,sort函数真好用。O(n+nlogn)classSolution{public:vectorint>sortedSquares(vectori
977.有序数组的平方leetcode题目链接给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100],排序后,数组变为[0,1,9,16,100]示例2:输入:nums=[-7,-3,2,3,11]输出:[4,9,9,49,121]能写出暴力解法,先计算平方然后再排序。嗯,sort函数真好用。O(n+nlogn)classSolution{public:vectorint>sortedSquares(vectori
今天第二天刷题,基础欠缺还很多,慢慢一点一点补!加油!今天主要学习整理977,快速学习209和59。977 有序数组的平方题目给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9,16,100]https://leetcode.cn/problems/squares-of-a-sorted-array初始思路根据提示使用双指针,定义了一个快指针一个慢指针分别比较前一个元素和后一个元素,
今天第二天刷题,基础欠缺还很多,慢慢一点一点补!加油!今天主要学习整理977,快速学习209和59。977 有序数组的平方题目给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9,16,100]https://leetcode.cn/problems/squares-of-a-sorted-array初始思路根据提示使用双指针,定义了一个快指针一个慢指针分别比较前一个元素和后一个元素,
代码随想录第九期第三天打卡记录链表基础:structListNode{intval;//结点上存储元素ListNode*next;//指向下一个节点的指针ListNode(intx):val(x),next(nullptr){}//结点的构造函数};注意:不写构造函数的话,C++会自动的生成这样的一个构造函数,单数不会生成任何的成员变量。插入/删除(时间复杂度)查询(时间复杂度)使用场景数组O(n)O(n)O(n)O(1)O(1)O(1)数据量固定,频繁查询,较少增删链表O(1)O(1)O(1)O(n)O(n)O(n)数据量不固定,频繁增删,较少查询59.螺旋矩阵:link以下部分为c++相关
代码随想录第九期第三天打卡记录链表基础:structListNode{intval;//结点上存储元素ListNode*next;//指向下一个节点的指针ListNode(intx):val(x),next(nullptr){}//结点的构造函数};注意:不写构造函数的话,C++会自动的生成这样的一个构造函数,单数不会生成任何的成员变量。插入/删除(时间复杂度)查询(时间复杂度)使用场景数组O(n)O(n)O(n)O(1)O(1)O(1)数据量固定,频繁查询,较少增删链表O(1)O(1)O(1)O(n)O(n)O(n)数据量不固定,频繁增删,较少查询59.螺旋矩阵:link以下部分为c++相关
1.有序数组的平方977.有序数组的平方第一想法:暴力破解看完题解想法:朝着双指针方向想遇到困难:用双指针的话,一开始想到两边指针往中间靠,逐个将最大值赋给结果数组。和题解不同的是,循环条件我写了 while(left!=right){...},相比于题解的 while(left,我需要在后面单独为第一个元素赋值(因为没有cover到最后一个元素就跳出循环了)判断条件中,对于nums[left]==nums[right]这种情况,一开始的想法是两头同时逼近与赋值。但是在最后两个元素相同时,此想法报错(例如:[-1,0,0,2])。因此左右指针相等时,可以将其归到两边指针中的一边执行。publi
1.有序数组的平方977.有序数组的平方第一想法:暴力破解看完题解想法:朝着双指针方向想遇到困难:用双指针的话,一开始想到两边指针往中间靠,逐个将最大值赋给结果数组。和题解不同的是,循环条件我写了 while(left!=right){...},相比于题解的 while(left,我需要在后面单独为第一个元素赋值(因为没有cover到最后一个元素就跳出循环了)判断条件中,对于nums[left]==nums[right]这种情况,一开始的想法是两头同时逼近与赋值。但是在最后两个元素相同时,此想法报错(例如:[-1,0,0,2])。因此左右指针相等时,可以将其归到两边指针中的一边执行。publi
目录977 有序数组的平方209 长度最小的子数组59 螺旋矩阵II977 有序数组的平方题目链接代码随想录题解看到题目的第一想法:这道题之前有遇到过,第一思路是判断数组是否是全为正数或者全为负数,对上面这两种情况单独处理;如果数组既包含正数也包含负数,就找到第一个出现的正数,而后拿两个指针分别向左右移动,但是这块的处理上一直无法ac,后面在仔细研究一下。看完代码随想录之后的想法:卡哥的方法清晰明了~代码实现:我的思路:对于有break的for循环,当break的时候,后面那次i++是不执行的;所以处理后面的循环时i+1;当一侧到边界的时候,另一侧肯定未到边界,比如左侧已越界,需要rightc
目录977 有序数组的平方209 长度最小的子数组59 螺旋矩阵II977 有序数组的平方题目链接代码随想录题解看到题目的第一想法:这道题之前有遇到过,第一思路是判断数组是否是全为正数或者全为负数,对上面这两种情况单独处理;如果数组既包含正数也包含负数,就找到第一个出现的正数,而后拿两个指针分别向左右移动,但是这块的处理上一直无法ac,后面在仔细研究一下。看完代码随想录之后的想法:卡哥的方法清晰明了~代码实现:我的思路:对于有break的for循环,当break的时候,后面那次i++是不执行的;所以处理后面的循环时i+1;当一侧到边界的时候,另一侧肯定未到边界,比如左侧已越界,需要rightc