上一页 1 ··· 7 8 9 10 11 12 13 14 15 16 下一页
  2012年4月12日
摘要: [淘宝笔试题,哪年出的题不记得了]请给出一个运行时间为O(nlgn)的算法,使之能在给定一个由n个整数构成的集合S和另一个整数x时,判断出S中是否存在有两个其和等于x的元素?1、先对数组排序,然后利用折半查找实现。 1 #include <iostream> 2 using namespace std; 3 4 void sort(int a[],int size) 5 { 6 // 直接插入排序 7 int key =0; 8 for(int i=1;i<size;++i) 9 {10 key = a[i];11 int j;... 阅读全文
posted @ 2012-04-12 11:08 笔记吧... 可能只有自己看得懂 阅读(271) 评论(0) 推荐(0) 编辑
  2012年4月11日
摘要: 从2012年4月2号 至 2012年11号完成情况:————————————————————————————————————————————要完成的内容: 1、小论文一篇;(写了一份资料给老师,只需要小部分修改)2、OS 复习; (结束) 3、IT博客复习一遍; (结束) 4、算法导论;(从明天开始看) 5、C++标准库; (看到第5章) 6、STL源代码分析; 7、windows程序设计;(复习) (从明天开始看) 8、MFC深入浅出;(复习) 9、COM技术内幕;————————————————————————————————————————————从2012年4月13号 至 2012年2 阅读全文
posted @ 2012-04-11 22:06 笔记吧... 可能只有自己看得懂 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 描述: 写一段程序,实现atoi(const char* s)方法。示例代码: 1 #include <iostream> 2 using namespace std; 3 // 写一段程序,实现atoi(const char* s)方法。 4 // atoi用于将字符串转换成为整数。 5 // 比如 “123” => 123, “-246” => -246。 6 7 int Aatoi(const char *s) 8 { 9 // 主要的问题是负号的处理,不考虑其他字符的处理10 int len = strlen(s);11 if(0 == len) r... 阅读全文
posted @ 2012-04-11 18:58 笔记吧... 可能只有自己看得懂 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 描述: 写一段程序,找出数组中第k大小的数,输出数所在的位置。例如{2,4,3,4,7}中,第一大的数是7,位置在4。第二大、第三大的数都是4,位置在1、3随便输出哪一个均可。示例代码:[利用大顶堆排序,找到数组中第K大的数] 1 #include <iostream> 2 #include <algorithm> 3 using namespace std; 4 // 描述: 5 // 写一段程序,找出数组中第k大小的数,输出数所在的位置。例如{2,4,3,4,7}中,第一大的数是7,位置在4。 6 // 第二大、第三大的数都是4,位置在1、3随便输出哪一个均可。 7 阅读全文
posted @ 2012-04-11 18:29 笔记吧... 可能只有自己看得懂 阅读(1155) 评论(0) 推荐(0) 编辑
  2012年4月10日
摘要: STL是泛型编程的一个重要组成(目前还没有专门为泛型建立的语言)。STL的设计目的:为了降低编程时的耦合度,提供了大量可复用的技术。其组成部件有: 1、Container(容器):顺序容器(vector、deque、list、string),关联容器(set、multiset、map、multimap) 2、Iterator(迭代器):opterator *、opterator ++、opterator != 、opterator ==、opterator = 3、Algorithm(算法):reverse、find等等。。。 4、Adaptors(配接器):stack、queue、p... 阅读全文
posted @ 2012-04-10 17:27 笔记吧... 可能只有自己看得懂 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 1 #include <iostream> 2 using namespace std; 3 4 // 归并排序 5 void Merge(int a[],int b[],int i,int m,int n) 6 { 7 int j,k; 8 for(j = m+1,k=i;i<=m&&j<=n;k++) 9 {10 if(a[i] < a[j]) 11 b[k] = a[i++];12 else 13 b[k] = a[j++];14 }15 16 if(i<=m) ... 阅读全文
posted @ 2012-04-10 11:21 笔记吧... 可能只有自己看得懂 阅读(208) 评论(0) 推荐(0) 编辑
  2012年4月9日
摘要: 问题描述: 两个单向链表,可能存在公共节点。如何判断是否存在公共节点,并找出它们的第一个公共结点。分析: 要注意到,单向链表右公共节点,实际上两个链表会组成一个Y型的结构,而不是交叉。第一种: 循环比较...O(n^2)第二种:O(n) 可以看到,两个链表的后半部分是相同的,不妨设链表为L1和L2,L1为10个节点,L2为7个节点。假设L1和L2相交,那么L1和L2的后半部分应该是相同的,现在的问题是怎么找到开始的交点? 首先,把链表剪切到一样长(依据短的链表剪切...)(这一步很重要,为什么需要剪切,原因暂时还无法证明...) 然后,比较两个链表的后继指针,如果相同则说明有交点..... 阅读全文
posted @ 2012-04-09 17:05 笔记吧... 可能只有自己看得懂 阅读(1633) 评论(0) 推荐(0) 编辑
摘要: 描述:微软面试题:将一个句子按单词反序将一个句子按单词反序。比如 “hi baidu com mianshiti”,反序后变为 “mianshiti com baidu hi”。分析:一般的想法,把所有的字符反转,然后把单个的单词再次反转。。。提供两种代码:纯c和stl版View Code 1 #include <iostream> 2 using namespace std; 3 4 char * Reverse(char *p) 5 { 6 int len =strlen(p); 7 if(len == 0) 8 { 9 cout << "字符... 阅读全文
posted @ 2012-04-09 16:44 笔记吧... 可能只有自己看得懂 阅读(1141) 评论(0) 推荐(0) 编辑
摘要: 编程实现两个正整数的除法,当然不能用除法操作符。// return x/y.int div(const int x, const int y) {....}示例代码:View Code 1 #include <iostream> 2 using namespace std; 3 4 int div1(int x,int y) 5 { 6 if(0 == y) return -1; 7 8 int i = 0; 9 if(x < y) return i;10 int temp = y;11 while(x >= temp)12 {13 ... 阅读全文
posted @ 2012-04-09 15:31 笔记吧... 可能只有自己看得懂 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 数组 int a[] = {-4 , 3 ,56 , -15 , 34 , 0 , -14 , 4} ; 某几个连续的子序列其和最大,比如a0+a1 = -1 。a1+a2+a3+a4 = 78 。则[a1 a2 a3 a4]组成的数组即是所求。分析: 如果能够找到每个位置结束的最大连续子串和,那么保留最大的和就能解决问题。当然,也可以找到每个位置开始的最大连续子串和,其实这种的话就是把数组反转(其实还是求得以结束位置的最大连续子串和的意思),还是求解原来的问题。 重点:能够想到设计一个以第j处结束的子序列的最大和数组b[j]。(这样就能保证连续性,妙...)找出递推式: ... 阅读全文
posted @ 2012-04-09 11:57 笔记吧... 可能只有自己看得懂 阅读(2298) 评论(0) 推荐(1) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 16 下一页