CoolMind


If you cannot measure it, you cannot improve it.

Binary tree traversal

介绍 Preorder Inorder Postorder State machine 介绍 二叉树在面试过程中会经常遇到,经典问题是三种遍历方式中的一种(一般考查后续遍历,最难)。也会考查提 供两种遍历方式,用户用程序恢复二叉树。问题一般有递归和非递归方式(一...

Compare in set and map

简介 实现 简介 C++ STL 的 set 与 map 的模板参数中有一个是 Compare 类,该类的默认值是 std::less<T>。在某些场景下 我们需要自己定义这个 Compare 类。这个类返回的值要满足 weak ordering,即两个变量 a...

Compile and run STL using llvm(libcxx)

简介 编译库 编译程序 简介 SGI STL 版本是可读性比较高的版本,但是现在其没法在较新的编译器上编译,STLPort 也是没法编译。对于初学者 来说,有一个可以直接加入调试代码的版本,在理解上会有很大的帮助。本文就是利用 llvm 提供的实现来编译。 主要参考网...

C++ bind and function

简介 bind 函数 常用函数和例子 简介 C++ 后面的版本中提供很多函数对象,可以很方便的使用,例如 less, greater 等。当函数对象有多个参数 时,我们可以通过 bind 来绑定部分参数,使得函数对象的使用范围更大。例如我想替换数组中所有大于 3 的 元...

C++ STL algorithm

简介 一些 notes sort 相关 merge 相关 简介 本文主要介绍 stl_algo.h 中暴露的算法接口。 __median for_each(Iter first, Iter last, _Fun f) find(Iter first,...

Majority Element I && II

题目 解法 思路 代码 题目 本次主要涉及 3 个题目。前两个题目是 Majority Element I 和 II,第三个是一个类似的应用。 Majority Element Given an array of siz...

C++ STL priority queue and heap

简介 heap priority queue 应用 简介 heap 对于支持 RandomAccessIterator 的容器适用。默认构造最大堆。 push_heap 元素放在末尾,然后 __push_heap ...

Most Common Word

题目 解法 思路 代码 题目 Given a paragraph and a list of banned words, return the most frequent word that is not in the l...