摘要: vector、queue、stack、priority_queue对元素进行元素访问时,返回的是对应元素的引用。 阅读全文
posted @ 2018-03-29 15:35 Deribs4 阅读(635) 评论(0) 推荐(0) 编辑
摘要: C++中的sort函数默认是将元素升序排列的,而priority_queue默认是将元素降序排列的(默认实现的是大顶堆)。 自定义运算符用的比较多,以下2种对sort和priority_queue运算符的重载都有效,效果都是一样的: 输出 对sort单独自定义运算符: 输出都是 对priority_ 阅读全文
posted @ 2018-03-28 09:36 Deribs4 阅读(3505) 评论(0) 推荐(2) 编辑
摘要: Similar Questions Basic Calculator Expression Add Operators 思路:逆波兰式的计算(Reverse Polish Notation),利用栈,正向遍历String数组,遇到符号字符,就将栈顶的2个元素弹出做对应计算,将计算结果压栈;遇到数字, 阅读全文
posted @ 2018-02-19 20:55 Deribs4 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 思路:添加头节点,依次反转相邻元素,保持反转后的最后一个指针pre,当前被反转的第一个元素的指针cur,当前被反转的第二个元素的指针next(如果存在的话)。反转的思路和92. Reverse Linked List II差不多,只不过pre要移动。 迭代做法: 递归做法: Next challen 阅读全文
posted @ 2018-02-04 20:02 Deribs4 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 思路:添加头节点,反转链表某个连续部分,206. Reverse Linked List是本题的特殊情况,也可以像本题一样做,具体见Leetcode 206. Reverse Linked List。 Next challenges: Swap Nodes in Pairs Remove Dupli 阅读全文
posted @ 2018-02-04 19:53 Deribs4 阅读(326) 评论(0) 推荐(0) 编辑
摘要: Similar Questions Reverse Linked List II Binary Tree Upside Down Palindrome Linked List 思路:链表反转。 解法一:迭代。 添加头节点(推荐):不断将当前元素start插入dummy和dummy.next之间,实现 阅读全文
posted @ 2018-02-02 19:14 Deribs4 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 思路:动态规划。对于属于coins的coin,只要知道amount-coin至少需要多少个货币就能表示,那么amount需要的货币数目=amount-coin需要的货币数目+1;如果amount-coin都不能被表示,amount也不能被表示。 方法一:递归,由上至下。 Next challenge 阅读全文
posted @ 2018-01-22 21:24 Deribs4 阅读(407) 评论(1) 推荐(0) 编辑
摘要: 思路:动态规划。 Next challenges: Paint Fence Coin Change Maximum Sum of 3 Non-Overlapping Subarrays 阅读全文
posted @ 2018-01-22 18:30 Deribs4 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 思路:区域覆盖问题。一个自然的想法是将每个员工的工作时间段看做一个木棒,每个木棒的长度就是这个时间段的时长。然后按照木棒的起始位置升序排列,接着由低位置向高位置一个木棒一个木棒的看过去。如果当前木棒的末节点的位置>下一个木棒的头节点位置,那么这两个节点就是一个free time的开头和结尾;如果当前 阅读全文
posted @ 2018-01-17 18:35 Deribs4 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 思路: 方法一:时间复杂度O(n)。很巧妙。 方法二:也是不断更新末尾指针,但是写得没有方法一好,复杂度也比方法一高。 阅读全文
posted @ 2018-01-15 22:39 Deribs4 阅读(752) 评论(0) 推荐(0) 编辑