随笔分类 - IT公司面试、笔试题
摘要:1 #include 2 using namespace std; 3 4 int maxCover(int* a, int n, int l) 5 { 6 int maxCover = 1; 7 int begin = 0; 8 int end = 1; 9 while(end l)12 {13 maxCover = (end - begin) > maxCover?(end - begin):maxCover;14 begin++;15 }16 else1...
阅读全文
摘要:1 #include 2 using namespace std; 3 4 void substring(char* str) 5 { 6 int len = strlen(str); 7 len = 2*len + 1; 8 for(int i = len; i >= 1; i--) 9 {10 if(i%2 == 0)11 str[i-1] = str[i/2-1];12 else13 str[i-1] = '#';14 }15 str[len] =...
阅读全文
摘要:1 #include 2 using namespace std; 3 4 /* 5 链表节点 6 */ 7 struct Node 8 { 9 int value; 10 Node* next; 11 }; 12 /* 13 创建一个长度为len的链表,并返回链表头结点 14 */ 15 Node* init(int len) 16 { 17 Node* head = new Node[len]; 18 if(head == NULL) 19 { 20 coutvalue = i; 29 p...
阅读全文
摘要:题目:淘宝在全国有很多货物存储仓库,相当于一个环形的链表,每个节点代表一个存货点,现在是每一个存货点存放的货物是不一样的,从而导致了不平衡,要求你给出一个高效算法,用于调节各个存货点的货物保持平衡,限制条件是只能在相邻的点之间传输货物 。求解:这不就是一个负载均衡的问题嘛,关键就是如何选取一个好的负载均衡的算法来实现这个需求。数据结构:双向链表策略:头结点记录所有的存货点的存货量,每隔一周,从头结点出发,单向遍历所有节点,更新头结点的记录所有存货点的存货量的数据。 每一次存货,先看看头结点的记录,往存货量最少的节点上存货。 每一周的更新,不仅仅要更新头结点的记录,同时进行存货点之间的存货平..
阅读全文