摘要: DescriptionWe have received an order from Pizoor Communications Inc. for a special communication system. The system consists of several devices. For each device, we are free to choose from several manufacturers. Same devices from two manufacturers differ in their maximum bandwidths and prices.By ove 阅读全文
posted @ 2013-11-17 21:57 SangS 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 题目删掉链表倒数第n 个节点思路设置两个指针, cur1, cur2. 让cur2 先走n步, 然后cur1, cur2再同时往下走, 知道cur2达到链表末尾总结考虑边界情况, 当删除的是头结点时, cur2应该会越界, 通过判断cur2的位置返回head->next第一次提交时判断条件都设为了if(cur2) or if(!cur), 忘了c++中NULL和false是不一样的cur1->ne... 阅读全文
posted @ 2013-11-17 20:36 SangS 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 搜索 阅读全文
posted @ 2013-11-17 19:58 SangS 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 题意给定几个字符串, 求解这几个字符串的公共前序思路最朴素的思路是一列一列的比较, 时间复杂度为 n*m, 其中n为字符串的个数, m为公共前序的长度每一列进行比较的时候, 可以使用分治法. 时间复杂度下降到 logn *m总结我最讨厌的便是分支语句. MergeSort 的分支有必要记一下, 当集合小于等于3时不再继续划分. 还要注意边际条件代码 1 #include 2 #include 3 #include 4 using namespace std; 5 class Solution { 6 public: 7 bool allEqual(vector &strs, in... 阅读全文
posted @ 2013-11-17 11:44 SangS 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 题意将罗马字符串转化成对应的数字思路创建一个hash表, 记录每一个或两个罗马符号对应的数字的值对输入的罗马字符串进行匹配. 匹配的时候需要一步lookahead操作, 优先匹配长度为2的罗马符号总结unordered_map 不可使用map.find(string[i])操作, 因为string[i] 是一个 char. 正确的操作应当是 map.find(string.substr(2,1))map 的find操作返回map.end() 或者指向目标pair的指针, 可用 map.find(xx)->first/second 返回pair的值代码 1 #include 2 #incl 阅读全文
posted @ 2013-11-17 10:48 SangS 阅读(224) 评论(0) 推荐(0) 编辑