草庐IT

平方千米

全部标签

代码随想录算法训练营Day2:977.有序数组的平方;209.长度最小的子数组;59.螺旋矩阵

 977.有序数组的平方 ,        给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。思路:非递减-->递增 方法一:双指针        每个元素平方后,因为是升序数组,所以从两端比较新数组元素的大值。依次放入新数组内。classSolution{public:vectorsortedSquares(vector&nums){//方法一intk=nums.size()-1;vectornews(nums.size(),0); //定义新数组result//因为是顺序数组,所以从数组比较两端元素来确定最大的新元素for(

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

Leetcode978 有序数组的平方 1:根据题目建议,实现。   错:if的分类开始弄得过于复杂。Leetcode209.长度最小的子数组1:自己尝试实现(暴力解法:两个for循环),半小时未做出。 错:满足条件后忘记跳出循环,同时注意result的更新策略。双指针Leetcode 59.螺旋矩阵II1:下不了手。注意事项:每一个循环的开始、结束条件多做几遍。

蓝桥杯专题-真题版含答案-【垒骰子_动态规划】【抽签】【平方怪圈】【凑算式】

点击跳转专栏=>Unity3D特效百例点击跳转专栏=>案例项目实战源码点击跳转专栏=>游戏脚本-辅助自动化点击跳转专栏=>Android控件全解手册点击跳转专栏=>Scratch编程案例点击跳转=>软考全系列点击跳转=>蓝桥系列👉关于作者专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)有什么需要欢迎底部卡片私我,获取更多支持,交流让学习不再孤单。👉实践过程需要所有整理的文档可底部卡片联系我,直接发压缩包。😜垒骰子_动态规划赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。经过长期观察,atm发现了稳定骰

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

977.有序数组的平方 https://leetcode.cn/problems/squares-of-a-sorted-array/暴力排序classSolution{public:vectorsortedSquares(vector&nums){for(inti=0;i时间复杂度为O(nlogn)双指针所给数组为有序数组,可以用双指针,但要考虑负数平方后的大小。创建新数组result,让k指向最后一个数,然后往前排序。classSolution{public:vectorsortedSquares(vector&nums){intk=nums.size()-1;vectorresult(n

算法训练营笔记day02|977.有序数组的平方、209. 长度最小的子数组、59. 螺旋矩阵 II

977.有序数组的平方题目连接笔记双指针法:从两边开始遍历,选出平方值较大的数,从数组的后面开始插入。心得一开始想的是用两个指针从中间开始遍历,但是麻烦很多,代码还是简洁的好,应该多尝试反向思考。classSolution{public:vectorint>sortedSquares(vectorint>&nums){intleft=0;intright=nums.size()-1;vectorint>result(nums.size(),0);inti=nums.size()-1;while(leftright){if(nums[left]*nums[left]nums[right]*num

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

977.有序数组的平方题目链接:977.有序数组的平方方法一:暴力遍历varsortedSquares=function(nums){for(vari=0;inums.length-1;i++){nums[i]=Math.pow(nums[i],2)}returnnums.sort((a,b)=>{returna-b})}方法二:双指针数组是有序的平方后,数组的最大值是数组的两端varsortedSquares=function(nums){letnewArr=[]letk=nums.length-1//i,j首尾两个指针进行对比for(vari=0,j=nums.length-1;ij;){

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

977.有序数组的平方977.有序数组的平方-题目看到这个题目的第一想法是暴力解法,求出数组中每个数的平方后,对数组进行排序classSolution{public:vectorsortedSquares(vector&nums){for(inti=0;i然而题目要求时间复杂度为o(n),暴力解法时间复杂度为o(n+nlogn)。看了题解后发现可以利用双指针解法,因为对含有负数的有序数组,最大值只能在数组的两端,因此用两个指针分别指向数组的起点和末尾,对两个指针指向的值的平方进行计算,判断。classSolution{public:vectorsortedSquares(vector&nums

代码随想录Day02 | LeetCode977.有序数组的平方、LeetCode209.长度最小的子数组、LeetCode59.螺旋矩阵II

977.有序数组的平方力扣题目链接(opensnewwindow)给你一个按非递减顺序排序的整数数组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已按非递减顺序排序思路:暴力解法最直观的想法,莫过于:每个数平方之后,排个序,美滋滋,代码如下:classSolution{public:vec

代码随想录Day02 | LeetCode977.有序数组的平方、LeetCode209.长度最小的子数组、LeetCode59.螺旋矩阵II

977.有序数组的平方力扣题目链接(opensnewwindow)给你一个按非递减顺序排序的整数数组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已按非递减顺序排序思路:暴力解法最直观的想法,莫过于:每个数平方之后,排个序,美滋滋,代码如下:classSolution{public:vec

2 第一章数组 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结 Day2

977.有序数组的平方力扣 这道题目最开始我是认为直接每个数平方然后再重新排序。这样可以通过,但是有更简便的方法,双指针利用了排序数组的思想,最大的数只能从数组的首尾两端产生。所以新建一个数组然后每次都放进去即可。209.长度最小的子数组力扣 题目属于典型的滑动窗口问题,从最开始的一直往后找知道找到合适的结点。我这道题目最开始少考虑了当他没有找到符合题目要求的数组,直接返回了res,所以出错。59.螺旋矩阵II力扣class Solution {public:    vector> generateMatrix(int n) {        vector> res(n,vector(n,0)