windows 系统下C++实现的多线程
摘要:摘抄http://blog.csdn.net/huyiyang2010/article/details/5809919 Thread.h Thread.cpp ThreadPoolExecutor.h ThreadPoolExecutor.cpp main.cpp
阅读全文
C++实现引用和被引用对象分离
摘要:上一篇博客简单介绍了C++中引用的底层实现,接下来,通过简单的代码验证如何将引用和被引用对象分离。 代码如下; 运行结果如下
阅读全文
C++中引用的底层实现
摘要:为了研究一下C++中引用的底层实现,写了一个小代码验证其中的基本原理。 引用是一个变量的别名,到底会不会为引用申请内存空间?如果申请空间,空间存放的是什么,下面的代码就主要解决这个疑问。 代码如下,详细见代码注释 通过输出,可以得出如下结果 1、引用在内存中也会分配空间,空间中存放的事被引用变量的地
阅读全文
一个简易内存池(C++)
摘要:做这个内存池主要是为了完成一道面试题,题目在代码中。 代码
阅读全文
数据结构-图-经典算法(一)
摘要:参考资料 http://blog.csdn.net/weinierbian/article/details/8059129 http://www.cnblogs.com/biyeymyhjob/archive/2012/07/30/2615542.html 百度百科 一、最小生成树算法 给定一个带权
阅读全文
2016腾讯实习电话面试总结---2016-03-10
摘要:这是一面,不知道有没有通过。整个面试持续接近一个小时,问的主要都是C++,操作系统,网络等基础知识。现在抽空将这些问题整理一下,做个自我总结吧。 PS:每一道题都是回答一点之后,然后根据你的回答深入的追问。所以回答问题也要有技巧,不能自己给自己挖坑。 一、问题列表 1、const有哪些用法,结合自己
阅读全文
树和二叉树知识点总结
摘要:参考资料 《数据结构(c语言版)》 http://www.cnblogs.com/huangxincheng/archive/2012/07/21/2602375.html (系列文章) http://www.cnblogs.com/sunysen/p/3201503.html(系列文章) http
阅读全文
Leetcode题解(34)
摘要:113. Path Sum II 题目 分析: 主要考察二叉树深度优先遍历(DFS),递归调用当前节点的左右结点即可,代码如下(copy网上): 1 /** 2 * Definition for binary tree 3 * struct TreeNode { 4 * int val; 5 * T
阅读全文
Leetcode题解(33)
摘要:113. Path Sum II 题目 分析: 主要考察二叉树深度优先遍历(DFS),递归调用当前节点的左右结点即可,代码如下(copy网上): 1 /** 2 * Definition for binary tree 3 * struct TreeNode { 4 * int val; 5 * T
阅读全文
Leetcode题解(32)
摘要:107. Binary Tree Level Order Traversal II 题目 直接代码: 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left;
阅读全文
Leetcode题解(31)
摘要:103. Binary Tree Zigzag Level Order Traversal 题目 分析: 广度优先遍历的应用。重点是掌握vector的reverse函数,一开始我忘记有这个函数了,琢磨半天都没弄出来,后来想起reverse函数,问题一下子就迎刃而解。 代码 1 /** 2 * Def
阅读全文
Leetcode题解(30)
摘要:98. Validate Binary Search Tree 题目 分析:BST按照中序遍历之后所得到的序列是一个递增序列,因此可以按照这个思路,先中序遍历,保存好遍历的结果,然后在遍历一遍这个序列。判断其是否递增 代码如下: 1 /** 2 * Definition for a binary t
阅读全文
Leetcode题解(29)
摘要:93. Restore IP Addresses 题目 分析:多重循环,判断小数点合适的位置 代码如下(copy网上) 1 class Solution { 2 public: 3 vector<string> restoreIpAddresses(string s) { 4 vector<stri
阅读全文
Leetcode题解(28)
摘要:90. Subsets II 题目 分析:代码如下 1 class Solution { 2 public: 3 vector<vector<int> > subsetsWithDup(vector<int> &S) { 4 vector<vector<int> > result; 5 map<ve
阅读全文
Leetcode题解(27)
摘要:86. Partition List 题目 分析:题目要求将链表划分为两部分,前半部分小于x,后半部分大于等于x,并且各个数之间的相对顺序不变。 解题思路是:从头开始扫描链表,找打第一个大于等于x的数current,然后从这个数开始,把current之后的小于x的数依次插在current前,大于等于
阅读全文
Leetcode题解(26)
摘要:80. Remove Duplicates from Sorted Array II 题目 分析:简单的操作,代码如下: 1 class Solution { 2 public: 3 int removeDuplicates(vector<int>& nums) { 4 int n = nums.s
阅读全文
Leetcode题解(25)
摘要:77. Combinations 题目 分析:求给定数字n,k的组合数,方法是采用深度搜索算法,代码如下(copy网上代码) 1 class Solution { 2 public: 3 void dfs77(vector<vector<int > > &ans, vector<int> suban
阅读全文
Leetcode题解(24)
摘要:73. Set Matrix Zeroes 分析:如果没有空间限制,这道题就很简单,但是要求空间复杂度为O(1),因此需要一些技巧。代码如下(copy网上的代码) class Solution { public: void setZeroes(vector<vector<int> > &matrix
阅读全文
Leetcode题解(23)
摘要:69. Sqrt(x) 题目 分析,题目实现求一个int数的平方根,最暴力的算法就是逐个遍历,从1开始到x,判断是否有一个数i,其中满足i*i<=x,并且(i+1)*(i+1)>x;这个算法发虽然简单,但是效率不高。其实,按照暴力算法的思想,我们可以联想到在一个已经排好序的数组中查找一个数,该数正好
阅读全文