随笔分类 - 算法
快速排序
摘要:问题描述 一群孩子做游戏,现在请你根据游戏得分来发糖果,要求如下: 每个孩子不管得分多少,起码分到一个糖果。 任意两个相邻的孩子之间,得分较多的孩子必须拿多一些糖果(若相同则无此限制) 给定一个数组 arr代表得分数组,请返回最少需要多少糖果。 要求: 时间复杂度为 O(n);空间复杂度为 O(n)
阅读全文
摘要:快速排序(QuickSort)学习笔记 解题思路 1、找基准:从数列中挑出一个元素,称为 "基准"(pivot) 2、分区:重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边);在这个分区退出之后,该基准就处于数列的中间位置 3、递归:递归地(
阅读全文