摘要:Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.Example:Input: n = 4, k = 2Output:[ [2,4], ... 阅读全文
posted @ 2019-03-02 20:21 lightmare 阅读 (30) 评论 (0) 编辑
摘要:Given a collection of numbers that might contain duplicates, return all possible unique permutations.Example:Input: [1,1,2]Output:[ [... 阅读全文
posted @ 2019-03-02 18:00 lightmare 阅读 (106) 评论 (0) 编辑
摘要:Given a collection of distinct integers, return all possible permutations.Example:Input: [1,2,3]Output:[ [1,2,3], [1,3,2], [2,1,3],... 阅读全文
posted @ 2019-03-01 23:04 lightmare 阅读 (20) 评论 (0) 编辑
摘要:Given two strings s1 and s2, write a function to return true if s2 contains the permutation of s1. In other words, one of the first st... 阅读全文
posted @ 2019-03-01 23:04 lightmare 阅读 (15) 评论 (0) 编辑
摘要:目录1. 3 项 WWW 构建技术2. TCP/IP 是互联网相关的各类协议族的总称协议(protocol)TCP/IP分层管理TCP/IP通信传输流封装(encapsulate)3. 与 HTTP 关系密切的协议 : IP、 TCP 和DNS3.1负责传输的IP协议... 阅读全文
posted @ 2019-02-28 22:50 lightmare 阅读 (42) 评论 (0) 编辑
摘要:题目 Convert a BST to a sorted circular doubly-linked list in-place. Think of the left and right pointers as synonymous to the previous ... 阅读全文
posted @ 2019-02-28 14:27 lightmare 阅读 (26) 评论 (0) 编辑
摘要:题目 给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 保证原始二叉搜索树中不存在新值。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。例如, 给定二叉搜索树: ... 阅读全文
posted @ 2019-02-28 10:29 lightmare 阅读 (25) 评论 (0) 编辑
摘要:题目 给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。例如,给定二叉搜索树: 4 / \ 2 7 / \ 1 ... 阅读全文
posted @ 2019-02-28 08:55 lightmare 阅读 (39) 评论 (0) 编辑
摘要:题目 根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 ... 阅读全文
posted @ 2019-02-27 15:56 lightmare 阅读 (8) 评论 (0) 编辑
摘要:目录1.const1.1 const obj 如果调用 non-const member fun会编译出错经典错误1.2 例子:STD里的操作符重载1.3 例子:《cpp primer》15节 -基类的定义1.constclass complex{public: c... 阅读全文
posted @ 2019-02-26 20:28 lightmare 阅读 (262) 评论 (0) 编辑
摘要:目录1.概述2.继承2.0 基类2.1 派生类2.2 空基类优化(本节不理解2.3 虚基类2.4 继承方式2.5 成员名称查找(不理解)2.6 C++11新增overridefinal3. 动态绑定3.1 对象模型:虚表和虚指针3.2 动态绑定的三个条件3.3 sta... 阅读全文
posted @ 2019-02-25 16:29 lightmare 阅读 (16) 评论 (0) 编辑
摘要:题目 根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 ... 阅读全文
posted @ 2019-02-25 01:15 lightmare 阅读 (19) 评论 (0) 编辑
摘要:题目 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻... 阅读全文
posted @ 2019-02-24 20:06 lightmare 阅读 (33) 评论 (0) 编辑
摘要:题目 在一个小镇里,按从 1 到 N 标记了 N 个人。传言称,这些人中有一个是小镇上的秘密法官。如果小镇的法官真的存在,那么:小镇的法官不相信任何人。 每个人(除了小镇法官外)都信任小镇的法官。 只有一个人同时满足属性 1 和属性 2 。给定数组 trust,该数组... 阅读全文
posted @ 2019-02-24 18:05 lightmare 阅读 (183) 评论 (0) 编辑
摘要:1.面向对象的标准库 2.多种IO标准库工具istream,提供输入操作 ostream,提供输出操作 cin:读入标准输入的istream对象.全局对象extern std::istream cin;定义于头文件 cout:写到标准输出的ostream对象 ce... 阅读全文
posted @ 2019-02-24 10:30 lightmare 阅读 (15) 评论 (0) 编辑
摘要:题目 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], t... 阅读全文
posted @ 2019-02-22 23:35 lightmare 阅读 (22) 评论 (0) 编辑
摘要:你该去什么样的公司、做什么样的事情、拿多少钱,都取决于⼀个问题:你想成为⼀个什么样的⼈。⼯作只是⼈⽣的⼀部分,是⽤来⽀撑你⼈⽣价值的核⼼框架之⼀。在你⾃⼰没有想明⽩的时候,没有⼈能帮你。第⼀,给⾃⼰定义⼀年期的目标。⼈⽣的意义都是我们赋予它的。⼈⽣有时候就像⼀个没有终... 阅读全文
posted @ 2019-02-22 14:30 lightmare 阅读 (20) 评论 (0) 编辑
摘要:ref五分钟读懂TCP 协议——TCP协议简介TCP/IP协议(一)网络基础知识 阅读全文
posted @ 2019-02-22 12:57 lightmare 阅读 (12) 评论 (0) 编辑
摘要:题目 给定一个二叉树,返回它的 后序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1]进阶: 递归算法很简单,你可以通过迭代算法完成吗?考点思路代码1.递归//递归:左-右-根class Solu... 阅读全文
posted @ 2019-02-22 01:16 lightmare 阅读 (26) 评论 (0) 编辑
摘要:题目 给定一个二叉树,返回它的 前序 遍历。 示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3]进阶: 递归算法很简单,你可以通过迭代算法完成吗?考点思路见LeetCode94. Binary Tree ... 阅读全文
posted @ 2019-02-22 00:40 lightmare 阅读 (10) 评论 (0) 编辑
摘要:题目 给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶: 递归算法很简单,你可以通过迭代算法完成吗?考点stack递归中序遍历:左-根-右思路ref:二叉树的前中后和层... 阅读全文
posted @ 2019-02-22 00:08 lightmare 阅读 (31) 评论 (0) 编辑
摘要:1.用VScode打开本地leetcode文件夹C:\Users\Administrator\.leetcode2.上传到本地git库3.打开github桌面,上传到远程库 阅读全文
posted @ 2019-02-21 19:10 lightmare 阅读 (847) 评论 (0) 编辑
摘要:目录 1.安装codeblocks2.配置mingw环境变量3.配置.vscode文件夹的json文件ref1.安装codeblocks我已经安装过vscode和c++扩展插件,现在需要g++编译器,安装mingw操作复杂,直接安装codeblocks,自带mingw... 阅读全文
posted @ 2019-02-21 18:24 lightmare 阅读 (976) 评论 (0) 编辑
摘要:题目 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7... 阅读全文
posted @ 2019-02-21 13:33 lightmare 阅读 (8) 评论 (0) 编辑
摘要:题目 给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7... 阅读全文
posted @ 2019-02-21 13:27 lightmare 阅读 (28) 评论 (0) 编辑
摘要:题目 给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内... 阅读全文
posted @ 2019-02-19 23:10 lightmare 阅读 (41) 评论 (0) 编辑
摘要:c++ prime 5 ex11_4 代码如下 1.关于main函数中的三个参数 ,ref: int main(int argc,char* argv[])详解 char *argv[]是一个字符数组,其大小是int argc,主要用于命令行参数 argv[] 参数,数组里每个元素代表一个参数;比如 阅读全文
posted @ 2019-02-19 18:19 lightmare 阅读 (200) 评论 (0) 编辑
摘要:题目 不使用任何内建的哈希表库设计一个哈希映射具体地说,你的设计应该包含以下的功能put(key, value):向哈希映射中插入(键,值)的数值对。如果键对应的值已经存在,更新这个值。 get(key):返回给定的键所对应的值,如果映射中不包含这个键,返回-1。 r... 阅读全文
posted @ 2019-02-19 01:07 lightmare 阅读 (42) 评论 (0) 编辑
摘要:题目 不使用任何内建的哈希表库设计一个哈希集合具体地说,你的设计应该包含以下的功能add(value):向哈希集合中插入一个值。 contains(value) :返回哈希集合中是否存在这个值。 remove(value):将给定值从哈希集合中删除。如果哈希集合中没有... 阅读全文
posted @ 2019-02-19 00:31 lightmare 阅读 (61) 评论 (0) 编辑
摘要:题目 国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: "a" 对应 ".-", "b" 对应 "-...", "c" 对应 "-.-.", 等等。为了方便,所有26个英文字母对应摩尔斯密码表如下:[".-","-..."... 阅读全文
posted @ 2019-02-18 22:15 lightmare 阅读 (27) 评论 (0) 编辑
摘要:后台开发知识点 面面俱到很难,一个领域钻研的很深也很难。我认识的大神里有把C++语言吃的非常透的,也有实验室就是搞分布式的,拿offer都非常轻松。 博客(C++后台/基础架构) http://www.linya.pub/ web服务器开发 直接看muduo的代码去学习吧,但你可以看看我markdo 阅读全文
posted @ 2019-02-18 19:59 lightmare 阅读 (819) 评论 (0) 编辑
摘要:1.如果你只用一种方式了解某样事物,那么你就没有真正了解它。事情真正含义的秘密取决于我们如何将其与我们所了解的其他事情相联系。很好联系的内容可使你将想法融于脑中,从各种角度看问题,直至你找到合适自己的方法。这才是思考的真谛。2.所谓的聪明是指能学的更快、记得更多更牢,... 阅读全文
posted @ 2019-02-16 13:46 lightmare 阅读 (64) 评论 (0) 编辑
摘要:目录 1.散列表(哈希表)的定义2.散列过程3.散列表的优势与劣势4.哈希冲突5.散列函数的设计原则 6. 散列函数设计6.1 直接定址法6.2 除留余数法如何合理选取p值7. 散列冲突处理7.1 开放定址法7.1.1 开放定址法7.1.2 二次探测法 7.1.3 随... 阅读全文
posted @ 2019-02-15 21:56 lightmare 阅读 (215) 评论 (0) 编辑
摘要:时间复杂度 O(log n) 意味着什么?预先知道算法的复杂度是一回事,了解其后的原理是另一件事情。不管你是计算机科班出身还是想有效解决最优化问题,如果想要用自己的知识解决实际问题,你都必须理解时间复杂度。先从简单直观的 O(1) 和 O(n) 复杂度说起。O(1) ... 阅读全文
posted @ 2019-02-15 21:51 lightmare 阅读 (98) 评论 (0) 编辑
摘要:题目 给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深度拷贝。 考点思路代码/** * Definition for singly-linked list with a random pointer. * ... 阅读全文
posted @ 2019-02-14 23:50 lightmare 阅读 (50) 评论 (0) 编辑
摘要:题目 二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。示例:root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8 10 / \ 5 -3 / \... 阅读全文
posted @ 2019-02-13 23:51 lightmare 阅读 (16) 评论 (0) 编辑
摘要:题目 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ ... 阅读全文
posted @ 2019-02-13 00:09 lightmare 阅读 (25) 评论 (0) 编辑
摘要:题目给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 ... 阅读全文
posted @ 2019-02-12 23:59 lightmare 阅读 (22) 评论 (0) 编辑
摘要:题目 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 考点1.BST 二叉搜索树2.递归 思路 1.后序遍历,根节点是序列的最后一个。2.BST中左子树的值比根节点小,如果... 阅读全文
posted @ 2019-02-12 03:33 lightmare 阅读 (57) 评论 (0) 编辑
摘要:摘自《数据结构算法与应用:C++语言描述》第二版 P2711 树[软件工程] 考察另一种层次数据——软件工程中的模块化技术。通过模块化,可以把大的复杂的任务分成一组小的不太复杂的任务。模块化的目标是把软件系统分成许多功能不相关的部分或模块以便于进行相对独立的开发。由于... 阅读全文
posted @ 2019-02-10 10:51 lightmare 阅读 (79) 评论 (0) 编辑