算法训练营打卡第二天,今天的前两道题目重点练习了双指针的用法,最后一道题目将边界条件的限定作为关键点,额外锻炼了逻辑能力。

LeetCode977.有序数组的平方

题目链接

https://leetcode.cn/problems/squares-of-a-sorted-array/

视频讲解

https://www.bilibili.com/video/BV1QB4y1D7ep

题目分析

给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。

在手撕该题时,示例1的内容有给大家提供一种思路,根据解释的相关内容,我们只需要先将给定的nums数组平方,而后将平方后所得的数组进行排序即可。

因此,如何对所得数组进行快速的排序,就成为了解决这道题目的关键,在这里提供两种思路。

思路一:暴力求解

既然是对所得数组进行快速的排序,那么首先我们可以想到数据结构中涉及到的一系列排序方法,比如冒泡排序、快排、选择排序、插入排序、希尔排序等等,在这里我们选择快排进行排序,并在下面对快排的内容进行一些补充。

快速排序其实是对冒泡排序的一种补充,它的基本思想是:

通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据比另一部分的所有数据要小,再按这种方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,使整个数据变成有序序列。

在本文中不对快速排序的详细过程进行讲解,详细的题解大家可以翻阅下面这篇文档,讲的很奈斯~

传送门

代码随想录算法训练营第二天|LeetCode977.有序数组的平方、LeetCode209.长度最小的子数组、LeetCode59.螺旋矩阵Ⅱ相关推荐

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

    代码随想录算法训练营第二天 | LeetCode977.有序数组的平方 ,209.长度最小的子数组,59.螺旋矩阵II 一. LeetCode977.有序数组的平方 1. 题目链接[LeetCode9 ...

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

    --------------------------- 977.有序数组的平方 #include <iostream> #include <algorithm> #includ ...

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

    题目连接:977.有序数组的平方 暴力法:将数组所有元素平方然后再排序(未利用题目条件:原始数组按照非降序排列) 双指针法:数组中各元素符号有三种情况:①所有元素非负(将数组中元素平方即可).②所有元 ...

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

    LeetCode977.有序数组的平方 题目链接:LeetCode977.有序数组的平方 暴力解法: class Solution { public:vector<int> sortedS ...

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

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

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

    目录: 977.有序数组的平方 209.长度最小的子数组 1.暴力输出法 2.滑动窗口法 59.螺旋矩阵II 总结: 今日收获: 977.有序数组的平方 因为是递增且有负数的数组,那么他们的平方如果还 ...

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

    977.有序数组的平方 力扣题目链接 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 示例 1: 输入:nums = [-4,-1, ...

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

    第一章数组 (今日任务) 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结 建议大家先独立做题,然后看视频讲解,然后看文章讲解,然后在重新做一遍题,把题目AC,最后整理 ...

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

    977. 有序数组的平方 原理 准备:双指针.一个空数组.双指针指向的两个元素作比较,更大的数平方之后,放入空数组的尾部空位. 图解 其实这题的指针有两种方法: 从两边向中间靠拢,得到的是由大到小的值 ...

最新文章

  1. valgrind——hisi平台valgrind
  2. linux 移除python_第16 p,PYthon中的用户交互,Python GUI编程
  3. [USACO17JAN]Promotion Counting 题解
  4. 祖孙俩人是什么关系_一个人生活也挺好,为什么还需要亲密关系?
  5. Consumer配置
  6. JavaSE | IO流
  7. 在php中默认访问权限修饰符是,php中访问修饰符的知识点总结
  8. ubuntu下安装php的curl扩展
  9. Dapper学习 - Dapper.Rainbow(三) - Read
  10. 石墨烯的精细结构研究取得进展
  11. 计算机专业软件工程的二本大学有哪些,全国软件工程专业大学排名 一本二本大学名单...
  12. 【日常】python脚本系列:拳皇13一键出招以及连段实现
  13. 专题分纲目录 思维导图
  14. 10.算法进阶之分布式篇——分布式环境下如何生成唯一ID——UUID
  15. 开闭原则(Open Closed Principle)
  16. 数学与计算机专业的论文,数学与计算机关系论文.doc
  17. 集成电路设计的时钟方案
  18. 飞思卡尔弯道策略收集
  19. OpenCPN安装与海图下载探索
  20. 【观察】会议平板赛道战鼓擂,谁才是真正的领跑者?

热门文章

  1. 861. 二分图的最大匹配
  2. 数字逻辑---头歌实训作业---多路选择器设计与应用(Logisim)
  3. Python正则表达式——数量词
  4. 水处理中压力仪表的量程估算
  5. 批量修改有那么简单吗?
  6. 西门子PLC 的特殊功能寄存器
  7. why?why?why?
  8. 世界各国贸易开放度/依赖度(贸易占GDP比例)1960-2021
  9. 2018 考研数学(二)考试大纲
  10. 最全Edge浏览器安装扩展程序步骤