美文网首页
剑指Offer算法题解40-49

剑指Offer算法题解40-49

作者: 落地生涯 | 来源:发表于2019-05-31 15:03 被阅读0次

40 最小的 K 个数  马上解题

解题思路

大小为 K 的最小堆

复杂度:O(NlogK) + O(K)

特别适合处理海量数据

应该使用大顶堆来维护最小堆,而不能直接创建一个小顶堆并设置一个大小,企图让小顶堆中的元素都是最小元素。

维护一个大小为 K 的最小堆过程如下:在添加一个元素之后,如果大顶堆的大小大于 K,那么需要将大顶堆的堆顶元素去除。

代码


41.1 数据流中的中位数 马上解题

题目描述

如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。

代码


41.2 字符流中第一个不重复的字符   马上解题

题目描述

请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符 "go" 时,第一个只出现一次的字符是 "g"。当从该字符流中读出前六个字符“google" 时,第一个只出现一次的字符是 "l"。

代码


42 连续子数组的最大和   马上解题

题目描述

{6, -3, -2, 7, -15, 1, 2, 2},连续子数组的最大和为 8(从第 0 个开始,到第 3 个为止)。

代码


43. 从 1 到 n 整数中 1 出现的次数  马上解题  Leetcode : 233. Number of Digit One

代码

相关文章

  • 剑指Offer算法题解40-49

    40 最小的 K 个数马上解题 解题思路 大小为 K 的最小堆 复杂度:O(NlogK) + O(K) 特别适合处...

  • 2019校招Android面试题解1.0(算法篇)

    在校招题解的算法篇中,还整理了部分《剑指offer》原题,这里均用Java实现。 校招面试题解 剑指offer题解...

  • 剑指offer算法题解

    1. JZ3 从尾到头打印链表 2. JZ15 反转链表 3. JZ16 合并两个排序的链表 4. JZ14 链表...

  • {转载} 计算机基础知识点汇总

    算法 剑指 Offer 题解 目录根据原书第二版进行编排。 Leetcode 题解 做了一个大致分类,并对每种分类...

  • 剑指offer【40~49】

    题目链接: 剑指offer 40-49 目录: 40. 最小的 K 个数41.1 数据流中的中位数41.2 字符流...

  • 剑指offer题解

    前言 2. 实现 Singleton 3. 数组中重复的数字 4. 二维数组中的查找 5. 替换空格 6. 从尾到...

  • 算法-剑指offer

    《算法文章汇总》[https://www.jianshu.com/p/fc7c0e8cc5cb] 剑指 Offer...

  • 2018-08-11

      今天可谓是收获满满。上午在看剑指offer,自己在算法这方面非常薄弱,所以估计之后在找工作得把剑指offer上...

  • 剑指Offer算法题解10-19

    10、动态规划系列 10.1 斐波那契数列马上解题 题目描述 求斐波那契数列的第 n 项,n <= 39。 解题思...

  • 剑指Offer算法题解20-29

    20 表示数值的字符串 马上解题 题目描述 true:"+100","5e2","-123","3.1416","...

网友评论

      本文标题:剑指Offer算法题解40-49

      本文链接:https://www.haomeiwen.com/subject/oxgwtctx.html