![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
文章平均质量分 81
cColdTea
再丑也要擦口红
展开
-
Leetcode220——Contains Duplicate II
很容易可以想到用一个窗口[i , i+k],然后再在窗口内find,用mutiset这样对某个数的find的时间复杂度O(logN),这样循环之后复杂度为(NlogN),主要注意事项是不能用set,需要用到multiset,然后此处不能直接用find(可能find不到),用lower_bound去find就可以了 很简单,直接上代码了 class Solution { public:原创 2017-09-10 21:01:06 · 149 阅读 · 0 评论 -
477. Total Hamming Distance
题目如上,即求10^4个数间二进制距离之和。暴力匹配然后对每个pair求距离会超时,这里有一个方法:1、每次遍历一遍数据,找到每个数据的LSB(最低有效位),然后统计LSB为1、0的个数,那么距离dis+=count(1)*count(0),再将该数据右移一位。2、若在遍历的时候发现该数据为0,则将为零的zerocount++,直到zerocount == num.size,则停止循环。class...原创 2018-05-24 10:35:06 · 203 阅读 · 0 评论 -
33. Search in Rotated Sorted Array
python写很简单。class Solution: def search(self, nums, target): try: ans = nums.index(target) except: ans = -1 return ans常规写的话,我看到一个比较好的二分法,就是确定mid的位置是属于...原创 2018-05-23 00:08:56 · 132 阅读 · 0 评论 -
39. Combination Sum & 40. Combination Sum II
这题很简单,主要是push、pop会花比较多的时间,做个预判,不要所有的都先push,80%多吧。class Solution { public: vector<vector<int>> ans; vector<int> ans_temp; void dfs(vector<int>& candidates, ...原创 2018-05-21 22:37:58 · 239 阅读 · 0 评论 -
17. Letter Combinations of a Phone Number
今天的题目很简单,主要就是迭代。注意:我一开始用的是vector<char>,然后好像单个的char是不能变成string,还是python方便啊。好像需要先转换成一个char[] = {ch, 0},才能变成string,原因如下。class Solution { public: map<char, vector<string>> digi = {{'...原创 2018-05-20 22:38:31 · 132 阅读 · 0 评论 -
16. 3Sum Closest
承接上一题,也是经典的3Sum,计算sum到target最近的距离,今天有点事情有点忙,没有认真做,先做了一个暴力解决的,效率很低(因为test集数据量很小,所以ac了),自己试着优化了一下,边界判断出了点问题。明天早上优化,以后刷题不能放在晚上啊。最近看《模式识别》,感觉第二章有点难懂,都是模型问题,很基础的数学问题了。计划都没完成,共勉吧。class Solution { public: ...原创 2018-05-19 23:54:19 · 132 阅读 · 0 评论 -
15. 3Sum
春招终于结束了,lz今早结束了最后一个面试。前几天签了网易游戏的offer,然后再投了一个银行,很奇怪,金融的同学不想去银行,我们这种传统工科的倒想去。围墙,然后现在决定每天刷一题,汲取春招的教训(笔试挂了好多的泪奔)。今天是一个双指针的题目,也是很经典的3sum,就是在数组中求解任意拿3个数和为0的组合(no duplicate)。大概思路是对每个数字,都双指针遍历后面的数字(i+1 — len...原创 2018-05-18 23:42:20 · 130 阅读 · 0 评论 -
Leetcode312——Burst Balloons
Remove Boxes由于对该题的理解不深,于是找了另外一道简单一点的题目来理解。 int dp[500][500] = {0}; //dp[i][j]:i-j全部消掉能得到的最大数字 int main(){ int num[4] = {3,1,5,8}; vector nums(num, num+4);原创 2017-09-04 19:07:19 · 253 阅读 · 0 评论 -
Leetcode659——Split Array into Consecutive Subsequences
写的很奇怪,一下子就写完了,但是感觉解法及其不规范QAQ 逻辑连自己都说不清楚- -,大概就是以前打扑克凑顺子的思路吧,这都可以ac了也是有点纳闷 class Solution { public: int Hash[10000] = {0}; bool isPossible(vector& nums) { int max = 0; sort(nu原创 2017-09-04 21:26:11 · 663 阅读 · 0 评论 -
Leetcode316——Remove Duplicate Letters
这里找到更简单的一种做法 class Solution { public: string removeDuplicateLetters(string s) { string a = s.substr(2).replace(0, 1, "q"); if(s.size() < 2) return s; int count[150] =原创 2017-09-07 08:47:04 · 168 阅读 · 0 评论 -
Leetcode135——Candy
虽然我知道最好不要写垃圾答案,但是这个真的戳笑点。第一次写出有时候可以ac有时候会runtime error的解法,真是在生死线上徘徊啊: class Solution { public: int cand[1000] = {0}; int Most(int a, vector& ratings){ if(cand[a] != 0){原创 2017-09-07 11:25:01 · 160 阅读 · 0 评论 -
Leetcode493——Reverse Pairs
垃圾如我,先mark一下吧,听说树状数组可以更简便,然而一直还没看之先mark一下吧 既然不用树状数组,那就只能用merge&sort和bst了,大神说了bst会超时,只能用avl,然后我试了试bst还真的会超时: class Solution { public: int sum = 0; struct node{ node* r, *l;原创 2017-09-10 09:25:05 · 394 阅读 · 0 评论 -
Leetcode352——Data Stream as Disjoint Intervals
效率开始下降,实验室聚餐一开始推了,发现他们全都去了又开始怀疑是不是该去,看了看窗外的太阳然后又放弃了,纠结如我。 这题很简单,二分查找输入(但我总觉得可以用bst做,但是想想,insert的时间复杂度O(h)+遍历复杂度O(n))比二分查找O(logN)多(当然这个不含有vector ans的erase、insert操作)(ps. insert也是O(n)的复杂度,大神说在里面插入用list好原创 2017-09-10 14:19:41 · 321 阅读 · 0 评论 -
Leetcode327——Count of Range Sum
最近写了好多分治算法的题目啊,总结如下就是找出数组第i位后面的某些符合条件的位的个数,这一类型都可以用sort&merge做出来(当然也可以用bst,因为这都是存在插入顺序,刚好可以用来筛选是否为第i位后面一位),当然这一题还有很多解法,譬如二叉树。用sum建树,然后在add的时候比较。 参考资料有五种解法 class Solution { public: i原创 2017-09-10 19:18:42 · 506 阅读 · 0 评论 -
Leetcode315——Count of Smaller Numbers After Self
终于在bst标签下找到一个lz能用bst做的出来的题目,泪目跪谢感谢扶起了我的自尊心,直接上代码,很简单的,就是逆序对的求法。 class Solution { public: struct node{ int num, count; node *l, *r; node(int num): num(num), count(0), l原创 2017-09-10 21:22:58 · 299 阅读 · 0 评论 -
865. 具有所有最深结点的最小子树
两个思路吧,第二个略麻烦。 第一个是一次dfs class Solution: def dfs(self, root): if not root: return (root, 0) left_dict = self.dfs(root.left) right_dict = self.dfs(root.right) ...原创 2018-08-04 16:08:06 · 556 阅读 · 0 评论