草庐IT

小白刷代码随想录day2 -- 977有序数组的平方,209 长度最小的子数组,59 螺旋矩阵||

今天第二天刷题,基础欠缺还很多,慢慢一点一点补!加油!今天主要学习整理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初始思路根据提示使用双指针,定义了一个快指针一个慢指针分别比较前一个元素和后一个元素,

小白刷代码随想录day2 -- 977有序数组的平方,209 长度最小的子数组,59 螺旋矩阵||

今天第二天刷题,基础欠缺还很多,慢慢一点一点补!加油!今天主要学习整理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初始思路根据提示使用双指针,定义了一个快指针一个慢指针分别比较前一个元素和后一个元素,

算法训练 Day 2 | 数组:977.有序数组的平方,209.长度最小的子数组,59.螺旋矩阵II

1.有序数组的平方977.有序数组的平方第一想法:暴力破解看完题解想法:朝着双指针方向想遇到困难:用双指针的话,一开始想到两边指针往中间靠,逐个将最大值赋给结果数组。和题解不同的是,循环条件我写了 while(left!=right){...},相比于题解的 while(left,我需要在后面单独为第一个元素赋值(因为没有cover到最后一个元素就跳出循环了)判断条件中,对于nums[left]==nums[right]这种情况,一开始的想法是两头同时逼近与赋值。但是在最后两个元素相同时,此想法报错(例如:[-1,0,0,2])。因此左右指针相等时,可以将其归到两边指针中的一边执行。publi

算法训练 Day 2 | 数组:977.有序数组的平方,209.长度最小的子数组,59.螺旋矩阵II

1.有序数组的平方977.有序数组的平方第一想法:暴力破解看完题解想法:朝着双指针方向想遇到困难:用双指针的话,一开始想到两边指针往中间靠,逐个将最大值赋给结果数组。和题解不同的是,循环条件我写了 while(left!=right){...},相比于题解的 while(left,我需要在后面单独为第一个元素赋值(因为没有cover到最后一个元素就跳出循环了)判断条件中,对于nums[left]==nums[right]这种情况,一开始的想法是两头同时逼近与赋值。但是在最后两个元素相同时,此想法报错(例如:[-1,0,0,2])。因此左右指针相等时,可以将其归到两边指针中的一边执行。publi

代码随想录day02| 977. 有序数组的平方、209. 长度最小的子数组、59. 螺旋矩阵 II

目录977 有序数组的平方209 长度最小的子数组59 螺旋矩阵II977 有序数组的平方题目链接代码随想录题解看到题目的第一想法:这道题之前有遇到过,第一思路是判断数组是否是全为正数或者全为负数,对上面这两种情况单独处理;如果数组既包含正数也包含负数,就找到第一个出现的正数,而后拿两个指针分别向左右移动,但是这块的处理上一直无法ac,后面在仔细研究一下。看完代码随想录之后的想法:卡哥的方法清晰明了~代码实现:我的思路:对于有break的for循环,当break的时候,后面那次i++是不执行的;所以处理后面的循环时i+1;当一侧到边界的时候,另一侧肯定未到边界,比如左侧已越界,需要rightc

代码随想录day02| 977. 有序数组的平方、209. 长度最小的子数组、59. 螺旋矩阵 II

目录977 有序数组的平方209 长度最小的子数组59 螺旋矩阵II977 有序数组的平方题目链接代码随想录题解看到题目的第一想法:这道题之前有遇到过,第一思路是判断数组是否是全为正数或者全为负数,对上面这两种情况单独处理;如果数组既包含正数也包含负数,就找到第一个出现的正数,而后拿两个指针分别向左右移动,但是这块的处理上一直无法ac,后面在仔细研究一下。看完代码随想录之后的想法:卡哥的方法清晰明了~代码实现:我的思路:对于有break的for循环,当break的时候,后面那次i++是不执行的;所以处理后面的循环时i+1;当一侧到边界的时候,另一侧肯定未到边界,比如左侧已越界,需要rightc

leetcode 21. Merge Two Sorted Lists 合并两个有序链表(简单)

一、题目大意将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例1:输入:l1=[1,2,4],l2=[1,3,4]输出:[1,1,2,3,4,4]示例2:输入:l1=[],l2=[]输出:[]示例3:输入:l1=[],l2=[0]输出:[0]提示:两个链表的节点数目范围是[0,50]-100l1和l2均按非递减顺序排列来源:力扣(LeetCode)链接:https://leetcode.cn/problems/merge-two-sorted-lists著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。二、解题思路还是分递归和迭代

leetcode 21. Merge Two Sorted Lists 合并两个有序链表(简单)

一、题目大意将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例1:输入:l1=[1,2,4],l2=[1,3,4]输出:[1,1,2,3,4,4]示例2:输入:l1=[],l2=[]输出:[]示例3:输入:l1=[],l2=[0]输出:[0]提示:两个链表的节点数目范围是[0,50]-100l1和l2均按非递减顺序排列来源:力扣(LeetCode)链接:https://leetcode.cn/problems/merge-two-sorted-lists著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。二、解题思路还是分递归和迭代

十大经典排序算法(Java)--正在更新。。

十大经典排序算法(2022年11月12日更新)1、冒泡排序冒泡排序是接下来的十大排序中最简单的排序。1.1方法描述简单来说,排序方法就是重复地走过要排序的数列,一次比较相邻的两个元素,如果顺序不满足从小到大(从大到小),就将这两个元素交换,重复地进行,知道没有再需要交换。排序方式:In-place(需要申请额外空间-临时变量)1.2算法描述从第一个元素开始比较,比较相邻的元素。如果第一个比第二个大(小),就交换他们两个。对每一对相邻元素做同样的工作,不断重复,直到排序完成。1.3动图描述1.4代码实现(Java语言)从小到大排序:packageSort;//自己定义的包importjava.u

十大经典排序算法(Java)--正在更新。。

十大经典排序算法(2022年11月12日更新)1、冒泡排序冒泡排序是接下来的十大排序中最简单的排序。1.1方法描述简单来说,排序方法就是重复地走过要排序的数列,一次比较相邻的两个元素,如果顺序不满足从小到大(从大到小),就将这两个元素交换,重复地进行,知道没有再需要交换。排序方式:In-place(需要申请额外空间-临时变量)1.2算法描述从第一个元素开始比较,比较相邻的元素。如果第一个比第二个大(小),就交换他们两个。对每一对相邻元素做同样的工作,不断重复,直到排序完成。1.3动图描述1.4代码实现(Java语言)从小到大排序:packageSort;//自己定义的包importjava.u