2012年4月11日

原地排序与链表翻转

摘要: 有这样一个问题:有个长度为 n 的 (key,val) 数组 a,其中 key 是 int 类型,并且其值在 [0, n) 之间(前闭后开,包括 0 不包括 n),该数组按 key 是乱序的,但没有重复 key。要求:对 a 原地按 key 排序,可以使用常数个临时变量,不允许使用其它额外空间,时间复杂度必须是O(n)我曾经写过另外一个问题:排列的分解(必须看),与此有点类似:但其实不同。本质的不同在于:那个问题是对循环链表逆时针旋转1个单位,而该问题是要对循环链表顺时针旋转1个单位。逆时针旋转很容易,因为是 forward copy。但是顺时针旋转需要 backward copy,对数组(更 阅读全文

posted @ 2012-04-11 10:57 能发波 阅读(236) 评论(0) 推荐(0)

导航