摘要:
1.C++模板的作用。将算法与具体对象分离,与类型无关,通用,节省精力 2.socket编程,如果client断电了,服务器如何快速知道???有以下几个技术:使用定时器(适合有数据流动的情况); 使用socket选项SO_KEEPALIVE(适合没有数据流动的情况);3.fork()一子进程程后 父进程癿全局变量能不能使用???fork后子进程将会拥有父进程的几乎一切资源,父子进程的都各自有自己的全局变量。不能通用,不同于线程。对于线程,各个线程共享全局变量。4.4G的long型整数中找到一个最大的,如何做????我的想法是要找到最大的肯定要遍历所有的数的,而且不能将数据全部读入内存,可能不足 阅读全文
摘要:
查看cpu信息# cat /proc/cpuinfo说明: 1.process会从0开始计数,一直持续到结束。可以清楚的看到机器的cpu数目。 2.查看物理cpu关注physical id的值,该值相同的话则表示为同一颗CPU。 3.查看flag标志,如果有ht标志,则说明支持超线程技术。【详情见本文末尾】常用的组合命令 1.查看cpu个数及型号# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 2.查看物理cpu个数# cat /proc/cpuinfo | grep physical | uniq –c查看内存消息# cat /p 阅读全文
摘要:
数组乘积(15分)输入:一个长度为n的整数数组input输出:一个长度为n的整数数组result,满足result[i] = input数组中除了input[i]之外所有数的乘积(假设不会溢出)。比如输入:input = {2,3,4,5},输出result = {60,40,30,24}程序时间和空间复杂度越小越好。 1 /* 2 * 一个长度为n的整数数组result,满足result[i]=除input[i]之外所有数的乘积(不溢出),比如 3 * 输入input={2,3,4,5};输出 result={60,40,30,24}; 4 */ 5 /* 6 * 方法一... 阅读全文
摘要:
背包问题。 不过就这道题目本身而言,由于集合a中只要6个元素,而不是成千上万,所以可以使用更直观的办法: 只要你能通过程序给出数组a中元素所组成的集合的所有的子集合(幂集),那么只需在这些集合中搜索等于10的就可以了。 而6个元素构成的集合的幂集可以通过6位二进制数来表示,对于从0到2的6次方减1(63)之间的所有的数,让其每一位比特位代表一个元素,当该位为0时表示该数所表示的子集中没有这个元素,否则表示拥有这个元素,这样就能对应出所有的组合,然后在这些所有的组合中检测和是否为10就可以了。 1 #include 2 3 #define ARRAY_SIZ... 阅读全文