随笔分类 - 经典面试算法
摘要:1.题目描述 Given a string s, partition s such that every substring of the partition is a palindrome. Return all possible palindrome partitioning of s. For example, given s = "aab", Return ...
阅读全文
摘要:关于题目理解,请注意和最长公共子序列的区别,最长公共子字符串的解法是动态规划,但是比较难想到表的构造方法。 注意到,设给定字符串为str1 和 str2 ,二者的长度分别是 len1 和 len2 ,那么解空间大小之多是len1*len2?(假设最长公共子字符串为substr_common,那么substr_common在str1 中的结束位置或者起始位置只有len1种选择,而在str2中则最多l...
阅读全文
摘要:链表相关的面试题是经常出现的,今天总结一下~1.如何判断一个链表是否有环?如果有,找到环的入口?设置快慢指针,快指针步长为2,慢指针步长为1,如果有环,最终快慢指针会相遇,代码如下:bool hasCircle(Node* head, Node* &encounter){ Node *fast = head, *slow = head; while(fast && fast->next) { fast = fast->next->next; slow = slow->next; ...
阅读全文
摘要:在网上搜了大概有四种办法:用下面的程序验证一下:void swap1(int &a,int &b){ a=a+b; b=a-b; a=a-b; return;}void swap2(int &a,int &b){ a=a-b; b=a+b; a=b-a;}/*swap3 很经典*/void swap3(int &a,int &b){ a^=b; b^=a; a^=b; /*等效的一句话操作是: a^=b^=a^=b; */}/*swap4 ,最精炼*/void swap4(int &a,int &b){ b=a^b^(a=b)..
阅读全文
摘要:几种比较好的综述:1.各种内部排序算法的比较:http://space.itpub.net/15203236/viewspace-6165822.分类清晰的一种比较方式:http://edsionte.com/techblog/archives/38573. 要知道每种排序的的详细,直接维基百科即可,不用其他的地方整理4.数据结构的网络演示:http://jpkc.glxy.sdu.edu.cn:9053/html/suanfayanlian/20080426/59.htmlhttp://student.zjzk.cn/course_ware/data_structure/web/paixu/
阅读全文