摘要:一、 序言上一篇文章中,给出了 trie 树的一个实现。可以看到,trie 树有一个巨大的弊病,内存占用过大。本文给出另一种数据结构来解决上述问题---- Ternary Search Tree (三叉树)二、数据结构定义Trie 树中每个节点包含了 26 个指针,但有很大一部分的指针是 NULL ...
阅读全文
摘要:经常会在项目中用到 int to string, 之前一般用C语言的 sprintf, 发现C++ 中的 ostringstream 可以轻松完成这个任务。#include #include #include using namespace std;int main(void){ ostrings...
阅读全文
摘要:C++ 中构造函数可否是虚函数?绝不要!!而且,在构造函数中调用虚函数也是不提倡的行为,因为会引发预想不到的结果。因为,在 derived class 对象构造的过程中,首先调用的是基类的构造函数,等基类构造结束,才开始构造派生类的部分。这个过程中,编译器将该对象视为 基类,而非派生类(因为,派生类...
阅读全文
摘要:C++ STL 库中 vector 容器的 resize 和 reserve 区别是什么?1. resize 改变 size 大小,而 reserve 改变 capacity, 不改变size.2. vector内部其实包含了三个指针,如下图:resize()------改变 finish 指针re...
阅读全文
摘要:1. 问题请问如下的一个 class 的一个对象占了多少内存?具体包含哪些东西? non-static 变量? static member 变量? member function?? virtual function??class A{public: virtual void print();pr...
阅读全文
摘要:1. 简述Trie 树是一种高效的字符串查找的数据结构。可用于搜索引擎中词频统计,自动补齐等。在一个Trie 树中插入、查找某个单词的时间复杂度是 O(len), len是单词的长度。如果采用平衡二叉树来存储的话,时间复杂度是 O(lgN), N为树中单词的总数。此外,Trie 树还特别擅长 前缀搜...
阅读全文
摘要:1. 题目描述Problem StatementYou are playing a game called Slime Tycoon.You will be selling Slimonades in this game, and your goal is to sell as many as yo...
阅读全文
摘要:1. 序: 本文参考了侯捷的 《STL 源码分析》一书,出于兴趣,自行实现了简单的 list 容器。 学习了 STL 的 list 容器的源代码,确实能够提高写链表代码的能力。其中的 sort 函数,可谓是非常神奇。。。2. 实现的细节 STL 的 list 容器采用了一个带有尾节点的环状双向链表。...
阅读全文
摘要:指针带给了 C++巨大的灵活性,然而同样也带来无数的问题,悬挂指针,内存泄漏等。int *pInt = new int(1);// Do not forgetdelete pInt;智能指针就是一种能够有效避免悬挂指针的方法。通过一个类,来管理指针的复制,delete 等。从而使用户可以放心地使用指...
阅读全文
摘要:本文参考了侯捷的 《STL 源码分析》一书,出于兴趣,自行实现了简单的 vector 容器。之后会陆续上传 list, deque 等容器的代码,若有错误,欢迎留言指出。vector 容易实现的几点注意事项:1. 由于vector 是动态数组。出于效率的考虑,在往vector 中加入元素时,内存的扩...
阅读全文
摘要:请找出下面程序的 bug?int maxProfit2(vector &prices){ int local[3] = {0}; int global[3] = {0}; for(int i=0; i=1; --j) { local[j] = max(global[j-1]...
阅读全文
摘要:Given a digit string, return all possible letter combinations that the number could represent.A mapping of digit to letters (just like on the telephon...
阅读全文
摘要:Given two integers n and k, return all possible combinations ofk numbers out of 1 ... n.For example,If n = 4 and k = 2, a solution is:[ [2,4], [3,4]...
阅读全文