自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 分享一个二分查找算法的trick

这里分享一个二分查找算法的trick,我们知道二分查找是对一个已经排序对数组进行二分搜索,初始化一个left和right,left和right表示上界和下界。在每次循环中求mid,并不断更新left或right,直到找到最终的mid 但是二分查找有很多写法和细节,例如, while(left...

2020-03-15 23:59:24 14 0

原创 C++理解upper_bound 和lower_bound

C++中的upper_bound 和lower_bound比较容易弄混。记住的方法是根据名字记住其功能,如upper_bound表示以某个数为上限,这个数应该放在哪个位置;lower_bound表示以某个数为下限,这个数应该放在哪个位置。同时注意数组应该提前拍好序。 举个例子: #incl...

2020-03-14 12:29:04 90 0

原创 C++ vector按照位置删除元素、插入元素

删除一个元素 std::vector<int> vec; vec.push_back(6); vec.push_back(-17); vec.push_back(12); // Deletes the second element (vec[1]) vec.erase(vec....

2020-03-01 17:34:13 146 0

原创 cv2.imread返回none type解决方案

cv2.imread有时返回none type,可能是因为路径含有中文路径,也可能不是这个原因,但是图片是好的,可以正常打开。这时可以换一个文件读取方案: import PIL np.array(PIL.Image.open('000.jpg').convert('...

2020-02-25 20:11:51 199 0

原创 C++求组合数代码

long long C(int N, int M) { long long sum = 1; for(int i=1;i<=M; i++) { sum=sum*(N-M+i)/i; } return sum; } 这段代码可以防止分子相乘之后越界的情况,有改进欢迎交流! ...

2019-11-18 14:06:29 96 0

原创 C++11多线程异步操作std::future

本博客参考自https://thispointer.com/c11-tutorial/ C++多线程的在某些场景需要实现异步操作,由std::futer 和std::asych, std::packaged_task, std::promise搭配使用。 目录 1.std::future ...

2019-11-01 12:34:52 83 0

原创 python PIL图片拼接

w_num = 5 h_num = int(len(imgs)/w_num) + 1 UNIT_SIZE = 200 # 一张图的大小是200*200 target_shape = (w_num * (UNIT_SIZE + 10), h_num *...

2019-09-16 17:21:53 201 0

原创 某一点绕另一点逆时针旋转90后的坐标

普适公式见博客https://blog.csdn.net/faithmy509/article/details/80235631 令b=90得到 x=x2-(y1-y2) y=y2+(x1-x2) 考试时有个办法可以现场推一下,不用记:如图中两个全等三角形,可推导得到上面的公式 ....

2019-09-02 22:16:30 867 0

原创 矩形重叠问题

该题可暴力求解,直接看代码: #include<bits/stdc++.h> using namespace std; int main(){ int n; vector<int> x1, y1, x2, y2; cin>>n; ...

2019-08-31 17:43:18 77 0

原创 C++ 求组合数防止溢出

long long C(int N, int M) { long long sum = 1; for(int i=1;i<=M; i++) { sum=sum*(N-M+i)/i; } return sum; } 从1开始除和乘,可以防止过早...

2019-08-30 18:06:27 354 0

原创 289. Game of Life

https://leetcode.com/problems/game-of-life/ 1. 思路 使用naive的解法遍历数组内的每个元素,但是改变in-place地改变每个位置的值后,就会影响后面位置的next generation判断。 解决方法是把next generation结...

2019-08-27 23:00:11 37 0

原创 leetcode题解:324. Wiggle Sort II

https://leetcode.com/problems/wiggle-sort-ii/ 1. 解题思路 参考自https://leetcode.com/problems/wiggle-sort-ii/discuss/77682/Step-by-step-explanation-of-i...

2019-08-27 09:50:34 33 0

原创 快排的稳定性思考

快速排序是一种in-place算法,主要有两步,三数中值排序和pivot插入。其写法比较经典,所以最好理解之后背下来 三数中值排序相对简单,要注意三个数比较的顺序 void median(vector<int>& nums, int left, int right...

2019-08-26 23:48:36 68 0

原创 gas station 证明解是存在的

本博客参考自discuss 原题链接:https://leetcode.com/problems/gas-station/ 1. 思路 若所有station的gas小于cost之和,则解一定存在 .证明如下: 假设i使得下式最小,则解的位置应为i+1 两部求证: 首先 (如该...

2019-08-16 21:04:12 67 0

原创 ROI pooling理解

ROI Pooling是对ROI做的池化,可以把尺寸不一的ROI池化成相同尺寸的feature map。 在pytorch中的各个参数如下: 实际上,通过这个池化层,不同图片的不同ROI被整合到了一起,这样一来,输入就是无差别对待的ROI feature。 ...

2019-08-13 09:55:13 71 0

原创 pytorch实现upsample

这里实现的是一个比较偏的upsample,是朋友问我的,顺手记录下来。 实现的效果如下: 输入: 输出: 实现的是按相同值内插。实现方法是meshgrid,这个函数很好用,可以在输入x坐标和y坐标的情况下,返回由其组成的所有可能坐标组合。具体实现如下: ...

2019-08-11 16:16:14 511 0

原创 406. Queue Reconstruction by Height

1. 思路 本题可巧妙应用insert函数,如果熟悉insert函数,就会发现k刚好可以作为insert函数的参数,表明插入的位置。插入之前需要对从高到低进行排序。 2. 代码 注意排序的时候sort中的比较函数compare要声明为静态成员函数或全局函数,不能作为普通成员函数,否则会报错:...

2019-07-31 11:14:24 81 0

原创 295. Find Median from Data Stream

1. 思路 思路参考自Stefan大神。需要动态地知道数组中间的两个数的大小,优先队列正好在push一个数的时候可以动态地调整 数的位置,每次插入操作是O(logn)。考虑把当前插入的数分成两份,小的一份放在small队列里,大的一份放在large队列里。small是个最大堆,large是个最小...

2019-07-31 09:25:01 43 0

原创 可变形卷积Deformable Convolution Net(DCN)理解

论文地址:https://arxiv.org/pdf/1703.06211 相关代码(非官方):https://github.com/4uiiurz1/pytorch-deform-conv-v2/tree/529abbbe9b81e852d272220c855255fd631c43c6 1....

2019-07-25 14:26:39 1187 0

原创 目标检测map理解

1. MAP的物理意义 平均精度的意义是将各个召回率下准确率取平均,这个平均准确率可以衡量目标检测模型的性能,却不能直观地知道实际测试时特定置信度下准确率和召回率。只考虑大于特定置信度阈值下的正检和错检,可得到相应的准确率和召回率 2. MAP的计算方法 map即平均精度均值,平均精度,也...

2019-07-18 13:35:49 195 0

原创 437. Path Sum III

https://leetcode.com/problems/path-sum-iii/ 1. 思路 采用自身递归,思路可以很清晰。给定root->val和目标sum值,可能的path sum有五种: 若root->val == sum,则root->val本身是一个路径...

2019-07-16 21:44:52 34 0

原创 301. Remove Invalid Parentheses(深度优先搜索)

https://leetcode.com/problems/remove-invalid-parentheses/ 1. 思路 用深度优先搜索的思路,遍历这个字符串,当出现“)”的个数多于“(”的个数时,开始删除之前遇到的“)”使之平衡。每次平衡之后继续往后遍历,直到结束。当出现“(”的个...

2019-07-16 15:24:10 28 0

原创 347. Top K Frequent Elements题解

1. 思路 难点在于把时间复杂度降低到O(nlogn),考虑使用unordered map,先统计所有数出现的概率,再把unordered map reverse一下,得到每个频数对应的原整数。 2.AC代码(16 ms, faster than96.39%ofC++) class Sol...

2019-07-13 12:48:59 30 0

转载 oh my zsh安装和配置

oh my zsh shell的类型有很多种,linux下默认的是bash,虽然bash的功能已经很强大,但对于以懒惰为美德的程序员来说,bash的提示功能不够强大,界面也不够炫,并非理想工具。 而zsh的功能极其强大,只是配置过于复杂,起初只有极客才在用。后来,有个穷极无聊的程序员可能是实在...

2019-07-12 15:28:16 68 0

原创 309. Best Time to Buy and Sell Stock with Cooldown

https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/ 1. 思路 https://leetcode.com/problems/best-time-to-buy-and-sell-stock-...

2019-07-06 10:42:04 62 0

原创 Mask R-CNN中的mask分支理解

这里介绍Mask R-CNN的mask分支,mask rcnn的idea很简单,就是在faster rcnn的基础上加个mask分支(另外把ROI pooling转化成ROIAlign),所以只要理解了mask分支,大概就能理解mask rcnn了。 1. 结构: mask分支处理ROI得...

2019-06-27 16:50:41 2979 1

原创 215. Kth Largest Element in an Array

https://leetcode.com/problems/kth-largest-element-in-an-array/ 1. 思路 求第k大的数。如果先排序再取第k个数,时间复杂度O(nlogn),太naive 采用快速排序的思路,每次遍历后返回pivot(快速排序中的专有名词)的位置...

2019-06-13 23:46:51 55 0

原创 朴素贝叶斯进行分类

朴素贝叶斯是基于这样的假设: 那么如何利用它进行分类呢?找到一个比较好理解的例子:参考自https://blog.csdn.net/qq_38688564/article/details/79521544 也就是说贝叶斯模型是对每个类别进行建模,建模的方法依据是朴素贝叶斯。如以上公式第...

2019-06-11 21:28:38 64 0

原创 cascade rcnn目标检测中的mismatch问题

cascade rcnn这篇论文提到mismatch问题 https://arxiv.org/pdf/1712.00726.pdf 意思是training阶段和inference阶段,detector输入的proposal是不一样的,前者的proposal经过筛选(IoU>thres...

2019-06-06 09:34:27 266 0

原创 AISHELL -1数据集等语音数据集介绍

1. AISHELL数据集 总共178小时,400个人讲,其中训练集340个人,测试解20个人,验证集40个人,每个人大概讲三百多句话,每个人讲的话都放在一个文件夹里面。 AISHELL-2结构类似(1000个小时),不过总共1991人讲,每个人有500句话,每个人讲的话可能会有重复。 ...

2019-05-29 17:28:13 2464 0

原创 tmux常用指令(持续更新)

CTRL+B,:进入指令页面 1. CTRL+U向上翻页 默认是EMACS的模式,改成vi模式,进入copymode就可以向上翻页了,Ctrl-u向上翻页 setw -g mode-keys vi 2. 进入鼠标模式 set -g mouse on set -g mouse off ...

2019-05-27 15:10:12 124 0

原创 148. Sort List

1. 思路 归并排序。不采用递归,而是每次遍历时在某个单位长度内作归并排序,这个单位长度从2开始,一直增加到大于等于list长度停止,排序结束。所以进行了log(n)次遍历,总的复杂度为O(nlogn). 2. 注意的细节 编程过程中,采用模块化编程,先在主函数中写好自己的算法,思路尽量简洁...

2019-05-25 16:32:21 37 0

原创 76. Minimum Window Substring

1. 思路 要求时间复杂度为O(n),可以定义两个指针i,j,指针i从左向右移动,当找到所有的T时i停止,开始移动指针j,当j的下一次移动使得s[j:i+1]没有包含T时停止,最后判断找到的i+1-j长度是不是最小的,即找到所谓的最小窗口。想法很简单,关键是找到一个数据结构表达T有没有“找全”,...

2019-05-20 19:04:43 59 0

原创 python实现引用参数

1. 问题描述 python没有C++中的指针和引用这些概念,直接传入变量不能实现类似引用参数的功能。 def incr_num(num): num += 1 num = 0 num 0 incr_num(num) num 0 这是因为: 2. python中的整数都有其...

2019-05-12 10:54:38 890 0

原创 48. Rotate Image

思路 旋转矩形有特定的公式,不过这里要求不能使用多余的矩阵,所以要用另一种思路:先斜对角对折后横线对折。考虑横线对折比较方便,所以采用左丿对角线对折 AC代码 class Solution(object): def rotate(self, matrix): &qu...

2019-05-11 12:40:30 33 0

原创 31. Next Permutation

https://leetcode.com/problems/next-permutation/ 思路 思路比较常见:从最后一个元素开始遍历,若前一个元素比后一个元素还小,找到比该前一元素大的元素并替换之,替换位置后面的所有数再从小到大排序 注意的细节 找到比该前一元素大的元素,对立面应该是...

2019-05-09 10:19:46 41 0

原创 23. Merge k Sorted Lists

https://leetcode.com/problems/merge-k-sorted-lists/ 思路 一个简单的思路是把k个数组两两相加,但这样会超时,所以采用分治算法。合并两个数组的复杂度是O(n)的话,总的复杂度应该是O(nlog k) AC代码 # Definition f...

2019-05-09 09:53:16 30 0

原创 19. Remove Nth Node From End of List

思路 本题关键在于do this in one pass,否则可以直接第一遍遍历求List的长度,再求n-th node from the start of list。 首先假设List的长度是N,则移动N次后ListNode为none,以题中示例为例,n=2,N=5时,ListNode移动两...

2019-05-07 09:39:21 30 0

原创 11. Container With Most Water

https://leetcode.com/problems/container-with-most-water/ 思路 https://leetcode.com/problems/container-with-most-water/discuss/6100/Simple-and-clear...

2019-05-06 20:06:42 30 0

原创 10. Regular Expression Matching

https://leetcode.com/problems/regular-expression-matching/ 思路 https://leetcode.com/problems/regular-expression-matching/discuss/5651/Easy-DP-Java...

2019-05-06 19:27:40 42 0

提示
确定要删除当前文章?
取消 删除