摘要: http://poj.org/problem?id=1852蚁书的第一道POJ题目, 我刚开始陷入了如何求最大时间的陷阱上, 实际上, 两蚂蚁相遇后返回都掉下去的时间是和他们各自朝离自己最远的一端走然后掉下去的时间是一样的. 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 10 #define MAX_NUM 100000111 12 int arr[MAX_NUM] = {0};13 int num = 0;14 int n... 阅读全文
posted @ 2013-11-05 22:49 NextLife 阅读(214) 评论(0) 推荐(0)
摘要: http://oj.leetcode.com/problems/copy-list-with-random-pointer/我用hash表ac的, 但是有更优雅的方法, 我是沙茶, 我想不出, 又看了题解, 题解的方法我总结如下:每生成一个新结点, 就连到相应旧结点的next指针上, 这样形成了原链表和新链表每个结点依次先后相邻的一条链表,相当于一个合并的过程. 也许这步让人不明所以, 那么接下来的步骤就是关键, 把每个新结点的random指针指向该新结点前面那个旧节点的random指针的next, 这句话有点绕, 其实画个图更好理解. 懒的画图了, 使劲看会明白的. 最后一步就是把这个合并后 阅读全文
posted @ 2013-11-05 01:25 NextLife 阅读(225) 评论(0) 推荐(0)
摘要: http://oj.leetcode.com/problems/single-number/查了题解, 真特么巧妙.在一堆成双入对的情侣中间 寻找一个无人陪伴的屌丝. 方法是 把情侣全干死, 剩下的屌丝 昭然若揭.武器是: 异或class Solution {public: int singleNumber(int A[], int n) { // Note: The Solution object is instantiated only once and is reused by each test case. int r = A[0]; f... 阅读全文
posted @ 2013-11-05 01:20 NextLife 阅读(201) 评论(3) 推荐(0)
摘要: http://oj.leetcode.com/problems/linked-list-cycle/这道题也是随手一写就ac了, 之所以如此快是因为之前写过...这道题的O(n)解真的挺巧妙的而且也很简单, 两个指针a和b都指表头,a一次走2个结点, b一次走1个结点, 如果链表有环, 则a总有一天会等于b.class Solution {public: bool hasCycle(ListNode *head) { // IMPORTANT: Please reset any member data you declared, as // the same ... 阅读全文
posted @ 2013-11-05 01:08 NextLife 阅读(148) 评论(0) 推荐(0)
摘要: http://oj.leetcode.com/problems/maximum-depth-of-binary-tree/史上最简单的题了... 1 class Solution { 2 public: 3 int maxDepth(TreeNode *root) { 4 // IMPORTANT: Please reset any member data you declared, as 5 // the same Solution instance will be reused for each test case. 6 if (ro... 阅读全文
posted @ 2013-11-05 01:06 NextLife 阅读(146) 评论(0) 推荐(0)
摘要: http://oj.leetcode.com/problems/letter-combinations-of-a-phone-number/这道题是LeetCode上独立做出来的第一道题, dfs.这道题一开始总wa, 后来发现是stl string用错了, 我初始化是这么写的 string str(10); 导致所有str都是长10, 估计LeetCode会做检查, 所以就wa了, 后来就采用了先push, 递归后pop的方法,ac了.string str;string arr[10] = {" ", "", "abc", &quo 阅读全文
posted @ 2013-11-05 01:06 NextLife 阅读(228) 评论(0) 推荐(0)
摘要: 对只会说废话而不去坚持的自己非常生气, 一次又一次地浪费人生, 真对不起.~~~在时间限制是1秒的情况下, 时间复杂度代入结果, 对解题策略的提示.10^6 --------- 游刃有余10^7 --------- 勉勉强强10^8 --------- 很悬, 仅限循环体十分简单的情况~~~最大子序列和问题, 的O(n)思路, 关键的问题在于, 负值前缀不可能出现在最大和的子序列中.~~~有些绝对值参与计算的题目, 一个解决思路是, 思考在什么情况下能把绝对值运算符去掉,比如: http://codeforces.com/contest/359/problem/B~~~ 阅读全文
posted @ 2013-11-05 00:32 NextLife 阅读(213) 评论(2) 推荐(0)