万象云档 本次搜索耗时 2.356 秒,为您找到 297 个相关结果.
  • 2.9 完美洗牌

    2.9 完美洗牌 题目详情 分析与解法 解法一、蛮力变换 1.1、步步前移 1.2、中间交换 解法二、完美洗牌算法 2.1、位置置换pefect_shuffle1算法 2.2、完美洗牌算法perfect_shuffle2 2.2.1、走圈算法cycle_leader 2.2.2、神级结论:若2*n=(3^k - 1),则可确定圈的个数及各自头部的...
  • 6.5 MapReduce

    6.5 MapReduce 方法介绍 基础架构 MapReduce模式 问题实例 6.5 MapReduce 方法介绍 MapReduce是一种计算模型,简单的说就是将大批量的工作(数据)分解(MAP)执行,然后再将结果合并成最终结果(REDUCE)。这样做的好处是可以在任务被分解后,可以通过大量机器进行并行计算,减少整个操作的时间。但如果你...
  • 6.3 simhash算法

    6.3 simhash算法 方法介绍 背景 出世 流程 应用" level="3"> 应用 问题实例 6.3 simhash算法 方法介绍 背景 如果某一天,面试官问你如何设计一个比较两篇文章相似度的算法?可能你会回答几个比较传统点的思路: 一种方案是先将两篇文章分别进行分词,得到一系列特征向量,然后计算特征向量之间的距离(可以计算...
  • 3.3 最近公共祖先LCA

    3.3 最近公共祖先LCA 问题描述 分析与解法 解法一:暴力对待 1.1、是二叉查找树 1.2、不是二叉查找树 解法二:Tarjan算法 2.1、什么是Tarjan算法 2.2、Tarjan算法如何而来 2.3、Tarjan算法流程 解法三:转换为RMQ问题" level="3"> 解法三:转换为RMQ问题 3.1、什么是RMQ问题" ...
  • 6.3 simhash算法

    6.3 simhash算法 方法介绍 背景 出世 流程 应用 问题实例 6.3 simhash算法 方法介绍 背景 如果某一天,面试官问你如何设计一个比较两篇文章相似度的算法?可能你会回答几个比较传统点的思路: 一种方案是先将两篇文章分别进行分词,得到一系列特征向量,然后计算特征向量之间的距离(可以计算它们之间的欧氏距离、海明距离或...
  • (6)S.O.L.I.D五大原则之单一职责SRP

    (6)S.O.L.I.D五大原则之单一职责SRP 前言 _14单一职责 _34实例代码 _89重构代码 _375总结 (6)S.O.L.I.D五大原则之单一职责SRP 前言 Bob大叔提出并发扬了S.O.L.I.D五大原则,用来更好地进行面向对象编程,五大原则分别是: The Single Responsibility Principl...
  • 3.3 最近公共祖先LCA

    3.3 最近公共祖先LCA 问题描述 分析与解法 解法一:暴力对待 1.1、是二叉查找树 1.2、不是二叉查找树 解法二:Tarjan算法 2.1、什么是Tarjan算法 2.2、Tarjan算法如何而来 2.3、Tarjan算法流程 解法三:转换为RMQ问题 3.1、什么是RMQ问题 3.2、如何解决RMQ问题 3.2.1、Trivial...
  • 12.3 克隆的控制

    12.3 克隆的控制 12.3.1 副本构造器 12.3 克隆的控制 为消除克隆能力,大家也许认为只需将clone() 方法简单地设为private (私有)即可,但这样是行不通的,因为不能采用一个基类方法,并使其在派生类中更“私有”。所以事情并没有这么简单。此外,我们有必要控制一个对象是否能够克隆。对于我们设计的一个类,实际有许多种方案都是可以采取...
  • 16.6 多重分发

    16.6 多重分发 16.6.1 实现双重分发 16.6 多重分发 上述设计模式肯定是令人满意的。系统内新类型的加入涉及添加或修改不同的类,但没有必要在系统内对代码作大范围的改动。除此以外,RTTI并不象它在RecycleA.java 里那样被不当地使用。然而,我们仍然有可能更深入一步,以最“纯”的角度来看待RTTI, 考虑如何在垃圾分类系统中将它完...
  • 5.3 接口与实现

    5.3 接口与实现 5.3 接口与实现 我们通常认为访问控制是“隐藏实现细节”的一种方式。将数据和方法封装到类内后,可生成一种数据类型,它具有自己的特征与行为。但由于两方面重要的原因,访问为那个数据类型加上了自己的边界。第一个原因是规定客户程序员哪些能够使用,哪些不能。我们可在结构里构建自己的内部机制,不用担心客户程序员将其当作接口的一部分,从而自由地...