代码随想录算法训练营第二天|977.有序数组平方、209.长度最小的子数组、59.螺旋矩阵II(Java)977.有序数组平方给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。code-暴力解packagecom.shuzijun.leetcode.editor.en;publicclassSquaresOfASortedArray{publicstaticvoidmain(String[]args){Solutionsolution=newSquaresOfASortedArray().newSolution();}//先生成结果数组,在排序
练习题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*
文章目录59.螺旋矩阵II:样例1:样例2:提示:分析:题解:rust:go:c++:python:java:59.螺旋矩阵II:给你一个正整数n,生成一个包含1到n2所有元素,且元素按顺时针顺序螺旋排列的nxn正方形矩阵matrix。样例1:输入: n=3 输出: [[1,2,3],[8,9,4],[7,6,5]]样例2:输入: n=1 输出: [[1]]提示:1分析:面对这道算法题目,二当家的陷入了沉思。可以每次循环移动一步,判断移到边界就变换方向。也可以每次循环都换完4次方向,也就是完成一次顺时针,然后缩圈。和54.螺旋矩阵非常类似。题解:rust:implSolution{pu
动态规划part10121.买卖股票的最佳时机题目描述思路暴力贪心动态规划122.买卖股票的最佳时机II题目描述思路121.买卖股票的最佳时机题目链接:121.买卖股票的最佳时机参考:https://programmercarl.com/0121.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA.html视频讲解:https://www.bilibili.com/video/BV1Xe4y1u77q题目描述给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第
力扣 977.有序数组的平方题目:给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序题解1:暴力解法当拿到这个题目,题意很明白,该数组是一个非递减顺序排列的整数数组,要想元素平方过后组成新的数组。如果是暴力解法的话,可以直接对数组中所有元素平方,然后直接使用快速排序sort()即可。classSolution{public:vectorsortedSquares(vector&nums){for(inti=0;i题解2:双指针法--顺序排列的数组此种做法需要注意,非递减顺序 排序的整数数组平方后的最大值出现在原数组两端(最左端可能有
目录977.有序数组的平方方法一 暴力解法方法二 双指针法209.长度最小的子数组 59.螺旋矩阵II977.有序数组的平方题目链接方法一 暴力解法每个数平方之后,排个序classSolution{public:vectorsortedSquares(vector&A){for(inti=0;i复合赋值:是指先执行运算符指定的运算,然后再将运算结果存储到运算符左边操作数指定的变量中。例如:inta=10;a+=20;=>a=a+20快速排序:Sort函数使用模板:sort(首元素地址(必填),尾元素地址的下一个地址(必填),比较函数(非必填));方法二 双指针法思路:由于数组是有序的,所以平方
5.25号昨天摆烂了没做,今天5.26号补昨天的977总共花了1.5h,还是很不熟练,问题出在1自己思路太复杂2实现时出bug修bug用双指针,一开始自己想的思路有点过于复杂,还分情况讨论后来发现根本不用不过两个双指针时间复杂度都是O(n)这个版本代码里出现过的问题有:vector后面要pushback的话初始化就要设成0好点,后面要是想vec[i]赋值这样初始话要vectorres(size,value);这样比较好,找了半天错误其实问题就是size初始化0和后面pushback没统一vectorsortedSquares(vector&nums){vectorres(0);//mixedi
目录58.最后一个单词的长度LengthofLastWord 🌟59.螺旋矩阵IISpiralMatrixII 🌟🌟60.排列序列PermutationSequence 🌟🌟🌟🌟每日一练刷题专栏 🌟Rust每日一练专栏Golang每日一练专栏Python每日一练专栏C/C++每日一练专栏Java每日一练专栏58.最后一个单词的长度LengthofLastWord给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。示例1:输入:s="HelloWorld"输出:5解释:最后一个单词是“
977.有序数组的平方题目:给你一个按非递减顺序排序的整数数组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]提示:1-104nums已按非递减顺序排序进阶:请你设计时间复杂度为O(n)的算法解决本问题思路:1.个人首先想到的是冒泡排序,即将数组平方后输出新的数组,再将新数组进行冒泡排序,测试用例运行都成功,但提交
977.有序数组的平方力扣题目链接给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100],排序后,数组变为[0,1,9,16,100]#思路●看到题目的第一想法,直接暴力解+sort排序classSolution{public:vectorint>sortedSquares(vectorint>&nums){for(inti=0;inums.size();i++){nums[i]=nums[i]*nums[i];}