摘要: 快速排序作为一种优秀的排序算法,我们先来给出其核心思想:递归的,让正确的元素出现在正确的位置。 也就是快速排序有两大要点: 让正确的元素出于正确的位置 递归 让正确的元素出于正确的位置 比如一组数据:5 7 2 4 3 6 9 8;我们知道当这个数组排好序后: 2出现在索引为0的位置,且它前面的数都 阅读全文
posted @ 2020-04-13 17:12 少年π 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 题目: 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4, 分析: 思路一:我们可以利用STL库的sort函数,先将数组排序(时间复杂度O(nlogn),再选前K个数。 代码如下: vector<int> GetLeastNumb 阅读全文
posted @ 2020-04-13 16:29 少年π 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 题目: 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 思路:这个题目是典型的按行打印二叉树,但是不同于之前都是从左至右打印那种顺序(都是从左至右的是使用栈)。这个题目的本质是:下一次的打印都是倒叙的, 阅读全文
posted @ 2020-04-13 15:52 少年π 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 题目如下: 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 想法1:遍历每个自然数,判断其是否是丑数,如果是计数器+1,直到计数器为N。当然了,这是一种十分朴素的方 阅读全文
posted @ 2020-04-13 11:34 少年π 阅读(243) 评论(0) 推荐(0) 编辑