摘要: https://leetcode.com/problems/binary search tree iterator/ /description 难点在于对中间状态的维护。用类似于中序遍历的方法。 阅读全文
posted @ 2017-06-01 16:18 mioopoi 阅读(120) 评论(0) 推荐(0)
摘要: 先说句题外话,用递归实现栈的翻转纯粹就是用来练习的,递归做的效率显然不是最好的。面试喜欢问这个问题目的也就是考察对递归的理解。 另外,不可能不用额外空间。递归就需要压栈,压栈就需要空间。 做法: 1. 取出栈顶 2. 翻转栈 3. 把第1步取出的元素放到栈底 其中2,3两步就可以用递归做。 参考程序 阅读全文
posted @ 2017-05-24 22:15 mioopoi 阅读(369) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/wiggle sort ii/ /description 一开始想的方法是把数组复制一份,然后按最小、最大、最小...依次放数字,结果WA,错误代码: 阅读全文
posted @ 2017-05-24 22:10 mioopoi 阅读(247) 评论(0) 推荐(0)
摘要: 之前72天跑去做CodeCraft2017比赛了,在神队友的牵引下再次一路走到总决赛,完成了一段短暂而难忘的旅程—— 一场比赛,宛如一场恋爱。从最初的怦然心动,到前期的激动人心、全情投入,到后期的苦心经营、妥协相让,亦或精疲力竭、累觉不爱,直到最终分道扬镳或修成正果,挥之不去的总是那刻骨铭心,和往事 阅读全文
posted @ 2017-05-19 11:03 mioopoi 阅读(130) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/count of range sum/ /description 带条件约束的统计。结果 = 二分后左边的统计 + 右边的统计 + 横跨中间的,难点在于横跨中间的计算。 这个问题和“数组中的逆序对”类似,只不过对统计的条件要求更一般化,前者 阅读全文
posted @ 2017-05-19 10:53 mioopoi 阅读(362) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/count of smaller numbers after self/ /description 解法1:暴力 cpp class Solution { public: vector countSmaller(vector& nums) 阅读全文
posted @ 2017-05-19 10:51 mioopoi 阅读(166) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/reverse pairs/ /description 和315, 327是一类题。 分治法,合并的过程就是归并排序,在归并的过程中,对右半边,统计满足nums[j] & nums) { if (nums.empty()) return 0 阅读全文
posted @ 2017-05-19 10:49 mioopoi 阅读(2204) 评论(0) 推荐(0)
摘要: http://hihocoder.com/contest/hiho139/problem/1?sid=992251 描述 小Ho很喜欢在课间去小卖部买零食。然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称。第一次去一教小卖部买零食的时候,小Ho由于不懂事买了好一大堆东西,被小 阅读全文
posted @ 2017-03-01 20:52 mioopoi 阅读(290) 评论(0) 推荐(0)
摘要: leetcode 215. kth largest in an array https://leetcode.com/problems/kth largest element in an array/?tab=Description 方法1:直接按从大到小排序,返回第k个。 Time: O(n lo 阅读全文
posted @ 2017-03-01 11:17 mioopoi 阅读(281) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/sort characters by frequency/?tab=Description 思路1: Priority Queue 1. 先把所有字符的出现次数统计一下 O(n) 2. 然后把 (字符, 出现次数) 做成一个node推入优先 阅读全文
posted @ 2017-03-01 00:04 mioopoi 阅读(197) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/next greater element ii/?tab=Description 思路1:Brute Force 简单粗暴的方法是遍历数组,对每一个位置的元素,往后查找第一个比它大的,走到终点再折回头部查找,直到回到该位置。 Time co 阅读全文
posted @ 2017-02-28 09:58 mioopoi 阅读(309) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/shortest palindrome/?tab=Description 思路1:Brute Force 问题的核心就在于如何快速找到以所给字符串第一个字符开始的最长回文串。一种暴力枚举的方案是,从后往前枚举可能的回文串的终点,检测是否发现 阅读全文
posted @ 2017-02-28 09:57 mioopoi 阅读(184) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/reverse words in a string/?tab=Description 做法1 先整体反转 再定位到每一个word,做局部反转,同时in place挪走空格 最后pop掉尾巴的空格 Time complexity: O(n) 阅读全文
posted @ 2017-02-25 15:36 mioopoi 阅读(224) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/evaluate reverse polish notation/?tab=Description 开一个栈,遇到数字压栈,遇到运算符就从栈中弹出两个元素做相应的计算然后再压回去。 Time complexity: O(n) Space c 阅读全文
posted @ 2017-02-23 21:55 mioopoi 阅读(158) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/basic calculator/?tab=Description 不容易写的一道题。由于没有乘除,所以关键点就在于如何去括号,因为去完所有括号就可以挨个相加了。去括号的要点在于弄清括号内的每一个加数的正负号,比如 ,2的符号是 ,3的符号 阅读全文
posted @ 2017-02-23 00:14 mioopoi 阅读(1341) 评论(0) 推荐(1)