
数据结构与算法
九月的野花一片
总想在过去的时间里留下存在的痕迹
展开
-
剑指 Offer II 076. 数组中的第 k 大的数字
题目链接:https://leetcode-cn.com/problems/xx4gT2/ 题目描述: 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4 输出: 4 上次面试遇到这个问题不太了解堆排序和快排partition过程,脑子里只有调库orz原创 2021-12-29 01:51:01 · 432 阅读 · 0 评论 -
codility 11-2 CountSemiprimes
原题链接:https://app.codility.com/programmers/lessons/11-sieve_of_eratosthenes/count_semiprimes/ 题目描述 质数是一个正整数X,它有两个不同的除数:1和X。最初的几个质数是2、3、5、7、11和13。 半质数(semiprime)是一个自然数,它是两个质数的乘积(不一定是不同的)。前几个半素数是4,6,9,10,14,15,21,22,25,26。 给定两个非空数组 P 和 Q,每个数组由 M 个整数组成。这些数组表示有原创 2021-12-19 23:55:50 · 304 阅读 · 0 评论 -
二叉树前序、中序、后序深度遍历 (迭代法)
遍历顺序可以看作访问中间节点的顺序 前序遍历:中间节点 --> 左子树 --> 右子树 中序遍历:左子树 --> 中间节点 --> 右子树 后序遍历:左子树 --> 右子树 --> 中间节点 二叉树前序遍历(Leetcode 144) 利用栈后进先出,先将左孩子入栈,再将右孩子入栈,最后入栈中间节点,当节点为空时,依次出栈 def preorderTraversal(self, root: TreeNode) -> List[int]: if not r原创 2021-10-28 20:48:59 · 191 阅读 · 0 评论