摘要:
两个方法: 方法1. 利用 STL 中的 multiset (根据结点内的值)自动对指针排序。空间 O(N), 时间 O(NlogN).
方法2. 不利用任何 STL 函数。对指针建堆排序,只需要一个(win32: 4Byte)指针数组即可。空间 : O(K), 时间 O(NlogK)
(AC: 140ms) 阅读全文
2014年9月21日 #
2014年9月19日 #
2014年9月18日 #
2014年9月10日 #
2014年9月9日 #
摘要:
思路: 逐步查找。当出现不同时,如何回溯是关键。
Solution B 与经典 KMP 算法:
next[0] = 0; (0 位置不能匹配,下次还从此位置开始匹配)
next[pos] = (P[next[pos-1]] == P[pos] ? next[pos-1]+1 : 0); 阅读全文
2014年9月8日 #
摘要:
思路: hash && dfs. 阅读全文
摘要:
思路:两两字符串挨着找。水题。 阅读全文
摘要:
思路: 贪婪。从两段开始,计算面积。每次走一步,若左端高低较低,从左端走;反之,从右端走。 阅读全文
摘要:
思路: 这题 ugly 之处,在于 '*' 给的很不明朗, 其实'c*', 表示 '*' 可以代表 'ccc...cc'。
对 '*' 的理解,若出现 p中出现 '*', 则要比较用 s 和 p 中 '*' 之前的那个元素比较,从左往右找出 s 中第一个与 p 之前的元素不同的元素。
(若全相同,例如, 之前那个元素为 '.', 则 '.*' (表示'.......^....')可以匹配任何 s 串)。 阅读全文
摘要:
思路: 注意符号,溢出。
思路: 注意负数和溢出情况都是 false. 其余情况,就是反转再判断,参考上题. 阅读全文