随笔分类 - C/C++ 面试
C/C++ 面试
摘要:转载 http://eli.thegreenplace.net/2016/the-promises-and-challenges-of-stdasync-task-based-parallelism-in-c11/ One of the biggest and most impactful chan
阅读全文
摘要:本文是对一篇英文论文的总结:Finding Repeated Elements。想看原文,请Google之。这个问题的简单形式是“查找出现次数大于n/2的重复元素”。我们先从简单问题开始,然后再做扩展。1.查找出现次数大于n/2的重复元素 《编程之美》中有同样的一道题《寻找发帖水王》,具体思路是每...
阅读全文
摘要:http://www.geeksforgeeks.org/bottom-view-binary-tree/Bottom View of a Binary TreeGiven a Binary Tree, we need to print the bottom view from left to ri...
阅读全文
摘要:题目意思就是找一棵按上面链接所示的树对应的上面的两个点的最小公共祖先(LCP,Least Common Father),按照比较大小来依次返回自己的父亲节点就行了。具体看代码:getfather(a)函数是找父亲的代码#include #include #include #include...
阅读全文
摘要:分析:其实就是求矩形中某一个点到其他点的距离加权最小方法一:对每一个点求其到其他点的加权距离,然后比较最小。由于有M*N个点,对每一个点求加权距离是O(M*N)的,所以整体时间复杂度是O(M*M*N*N)的。方法二:首先做预处理,计算每一行有多少个点,每一列有多少个点,然后计算把其他行的点挪到我这一...
阅读全文
摘要:转 http://www.cnblogs.com/qq78292959/archive/2013/01/18/2865926.htmlsetsockopt中参数之SO_REUSEADDR的意义(转)1、一般来说,一个端口释放后会等待两分钟之后才能再被使用,SO_REUSEADDR是让端口释放后立即就...
阅读全文
摘要:在C++的类中,普通成员函数不能作为pthread_create的线程函数,如果要作为pthread_create中的线程函数,必须是static ! 在C语言中,我们使用pthread_create创建线程,线程函数是一个全局函数,所以在C++中,创建线程时,也应该使用一个全局函数。sta...
阅读全文
摘要:http://www.knockgate.com/archives/550
阅读全文
摘要:转http://blog.163.com/yuyang_tech/blog/static/216050083201382055821953/与合并排序,堆排序,快速排序等基于比较的排序算法不同,计数排序,以及基数排序、桶排序是用非比较的一些操作来确定排序顺序的,计数排序、基数排序、桶排序是三种以线性...
阅读全文
摘要:A peak element is an element that is greater than its neighbors.Given an input array wherenum[i] ≠ num[i+1], find a peak element and return its index....
阅读全文
摘要:转载,写的非常好!!http://www.cnblogs.com/skynet/p/3372855.html这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的...
阅读全文
摘要:模板为什么要特化,因为编译器认为,对于特定的类型,如果你能对某一功能更好的实现,那么就该听你的。模板分为类模板与函数模板,特化分为全特化与偏特化。全特化就是限定死模板实现的具体类型,偏特化就是如果这个模板有多个类型,那么只限定其中的一部分。先看类模板:templateclass Test{publi...
阅读全文
摘要:Given an integer, write a function to determine if it is a power of two.Credits:Special thanks to@jianchao.li.fighterfor adding this problem and creat...
阅读全文
摘要:循环队列:队列有着先入先出的特性。但是对于队列如果删除队头以后剩下的空间将不会被释放,又由于队列只能由队尾插入这就导致被删除部分的空间被浪费。解决这个问题就是循环队列。循环队列顾名思义就是将队列串起来形成一个类似与环的结构。如图所示。对照着图很容易理解:对于原来队列里的操作自然有不同的地方:1.判断...
阅读全文
摘要:erase函数要么删作指定位置loc的元素,要么删除区间[start, end)的所有元素.返回值是指向删除的最后一个元素的下一位置的迭代器ParametersAll parameters are of member type iterator, which in vector containers...
阅读全文
摘要:http://blog.csdn.net/liuhongxiangm/article/details/7928790linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)...
阅读全文
摘要:下面的动画展示了快速排序算法的工作原理。快速排序图示:可以图中在每次的比较选取的key元素为序列最后的元素。#include #include void swap(int * x, int * y){ int tmp = *x; *x = *y; *y = tmp;}void...
阅读全文
摘要:http://www.weixueyuan.net/view/6382.htmlhttp://wuyuans.com/2012/09/cpp-operator-overload/
阅读全文
摘要:#include #include using namespace std;class String{ char* m_data;public: String(const char* p = NULL) { if(p == NULL) { ...
阅读全文
摘要:mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。 在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。 我们知道,如果类的成员函数不会改变对象的状态,那么...
阅读全文