随笔分类 - 算法
摘要:http://blog.csdn.net/linygood/article/details/8898844原问题描述 战报交流:战场上不同的位置有N个战士(N>4),每个战士知道当前的一些战况,现在需要这N个战士通过通话交流,互相传达自己知道的战况信息,每次通话,可以让通话的双方知道对方的所有情报,设计算法,使用最少的通话次数,是的战场上的n个士兵知道所有的战况信息,不需要写程序代码,得出最少的通话次数。解答: 笔试时候想到的是: N-1个人围成一个环,将知道的消息告诉都第N个人,需要N-1次,同时第N-1个人与第N个人交流时,两人互相交流消息,这样子第N-1与第N个人都知道了所有人的信
阅读全文
摘要:某大公司有这么一个规定:只要有一个员工过生日,当天所有员工全部放假一天。但在其余时候,所有员工都没有假期,必须正常上班。这个公司需要雇用多少员工,才能让公司一年内所有员工的总工作时间期望值最大?假设一年有 365 天,每个员工的生日都概率均等地分布在这 365 天里。你的第一感觉或许是,公司应该雇用 100 多人,或者 200 多人吧。答案或许会让你大吃一惊:公司应该雇用 365 个人。注意,雇用 365 个人并不意味着全体员工全年的总工作时间为 0 ,因为 365 个人的生日都是随机的,恰好每天都有一个人过生日的概率极小极小。下面我们就来证明,这个问题的最优解就是 365 人。由于期望值满足
阅读全文
摘要:【转】http://blog.csdn.net/v_JULY_v/article/details/6279498海量数据处理:十道面试题与十个海量数据处理方法总结作者:July、youwang、yanxionglu。时间:二零一一年三月二十六日本文之总结:教你如何迅速秒杀掉:99%的海量数据处理面试题。有任何问题,欢迎随时交流、指正。出处:http://blog.csdn.net/v_JULY_v。第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^
阅读全文
摘要:算法学习之字符串左移和右移1.设计一个算法,把一个含有N个元素的数组循环右移K位,要求时间复杂度为O(N),且只允许使用两个附加变量。方法一:每次将数组中的元素右移一位,循环K次,则实现了右移K位。例如,原始字符串:abcd1234右移一位:4abcd123右移一位:34abcd12右移一位:234abcd1右移一位:1234abcd循环4次,则实现了右移4次实现函数如下:voidright_shift(char*str,intN,intK){chartemp;K%=N;//目的是,当K>N时,移动K次与移动K-i*N次是一样的。while(K--){t=str[N-1];for(int
阅读全文
摘要:#include <iostream>#include <stdlib.h>#include <time.h>#include <math.h>using namespace std;#define ARYSIZE 10 //数组大小#define MIN -30#define MAX 30void main(){ int ary[ARYSIZE]; srand((unsigned)time(NULL));//产生随机种子 for(int i=0;i<ARYSIZE;i++) { ary[i]=MIN+rand()%(MAX+abs(MIN
阅读全文
摘要:void PrintBracketsPairRecs(char *pBegin, char *pCur, int nCurLeft){ if (nCurLeft == 1) { *pCur = '('; *(pCur+1) = ')'; printf("%s\n", pBegin); // exit of recursive function } else { // 1st way: ()********* *pCur = '('; *(pCur+1) = ...
阅读全文
摘要:http://www.verydemo.com/demo_c180_i26774.htmlhttp://www.verydemo.com/demo_c128_i7105.htmlhttp://blog.csdn.net/wuzhekai1985http://www.cnblogs.com/E-star/archive/2013/03/30/2990157.html
阅读全文

浙公网安备 33010602011771号