- 博客(6)
- 收藏
- 关注
原创 复制数据结构 - 单链表及图
这次依然是两道算法题,复制链表,以及复制图,最后会给出一些总结。题目一,复制一个单链表(SLL - single linked list), 其节点除了一个基本的后向指针(next), 还有一个指向链表中任意一个节点的随机指针(random)。struct ranSLLNode{ char* cValue; ranSLLNode* pNext; ranSLLNode
2013-12-23 15:07:55 1574
原创 判断回文整型数
题目来自leetcode, 要求判断一个整型数是否是回文,不使用任何额外空间。我承认,是“不使用额外空间”这句话让我想到了递归。一般判断回文字符串是一个一个字符单独比较,但是对于整型数,显然我们有更好的办法。将它从低位到高位颠倒顺序重新排列,如果跟原数一样,那就成了。bool ispalindrome(int n, int x, int m){ if(n) ret
2013-12-14 21:24:10 749
原创 网页前端持续集成(2) - qunit+JSCoverage+PhantomJS使用小记
今年早些时候为公司项目做过一些网页前端程序的持续集成(CI),在过去的几个月中不断地给不同的人讲解过之后,我决定开一篇介绍一下。公司项目是一个ASP.net的网站,其中核心是一些JavaScript 的框架库以及扩展函数。基本目标是在Jenkins上集成单元测试(Unit Test), 和代码覆盖率的统计。由于是前端程序,所以我们采用qunit来做单元测试,代码覆盖率使用JSCoverage(
2013-12-12 23:42:43 2245
原创 二分查找-两已排序数组中找中位数二题
第一题来自于《算法导论》第九章习题 9.3-8. 已知两个已排序数组X[n], Y[n](假设升序),问在时间O(lgn)内找到全部2n个数中的中位数。给了提示时间O(lgn),那么必定使用二分查找。这道题的“梗”在于如何处理两个已排序数组。我们有总共2n个数,偶数,那么全局的中位数来自于两个数a,b,在排好序的2n个数中,它们以上(比它们大)和以下(比它们小)应该各有n-1个数。令a > b
2013-12-11 14:39:12 1395
原创 动态规划-有向无回路图中两点间最远距离
题目来源于《算法导论》第15章动态规划的习题 15-1。说实话它困扰了我很久,直到最近才想明白其中道理。以前对最小距离作的比较多,比如对非负权值图中有Dijkstra算法,对负权值图中有Ford算法。 最远距离???假设从A到F的最远距离为A->C->D->E->F, 为什么D->E->F一定会是从D到F的最远距离?当重新审视有向(directed) 无回路(acyclic)这两个词时,
2013-12-10 17:34:32 3665
原创 动态规划-字符串处理二题
题目来自微信帐号“待字闺中”,10月15。给一个字母组成的字符串,问最少插入多少字符,变成回文串。这题估计着可以用动态规划解,不过乍看上去,不知如何下手。第一个“梗”在于如何处理“最少插入字符”,根据最少即最多的思路,如果已知给定字符串中存在的离散回文字符串长度,剩下长度就是最少插入字符。OK,有思路了,动态规划找到回文字符串,需要一个最优子结构转化式。用dp[i][i+j-1] 表示
2013-12-10 14:21:27 721
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人