摘要: 找出数组中最小的k个数。 排序 ,$nlog(n)$ 维持大小为k的最大堆,$nlog(k)$ 快排思想,期望时间复杂度 $O(n)$,最坏时间复杂度 $O(n^2)$,随机partition会改善最坏的情况 class Solution { public: int partition(vector 阅读全文
posted @ 2020-04-07 18:35 betaa 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 分析: class Solution { public: int majorityElement(vector<int>& nums) { int x = 0, votes = 阅读全文
posted @ 2020-04-07 17:36 betaa 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 特别地,我们希望可以就地完成转换操作。当转化完成以后,树中节点的左指针需要指向前驱,树中节点的右指针需要指向后继。还需要返回链表中的第一个节点的指针。 注意点: 中序遍历BST即为 阅读全文
posted @ 2020-04-07 16:24 betaa 阅读(180) 评论(0) 推荐(0) 编辑