自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 收藏
  • 关注

转载 正则转义和字符串转义

在学习Python正则式的过程中,有一个问题一直困扰我,如何去匹配一个反斜杠(即“\”)?一、引入在学习了Python特殊字符和原始字符串之后,我觉得答案应该是这样的:1)普通字符串:'\\'2)原始字符串:r'\'但事实上在提取诸如“3\8”反斜杠之前的数字时,我屡次碰壁,始终得不到结果。最终发现自己理解错了,原来原始字符串和“正则转义”没有一点关系;下面详细谈一谈。二、字符串转义反斜杠,在Python中比较特殊,就是它可以用来构成一些特殊字符...

2021-01-13 16:48:18 1634

转载 Markdown换行语法

Markdown语法直接打一个回车是不会显示换行的。两种换行方法:行尾打两个或两个以上的空格之后回车 打两个回车 他们的区别是第一种打出来的效果行间距近,而第二种更像是段落之间的分隔,行间距大。行末两个空格+回车两个回车作者:苏啦啦哇咔咔链接:https://www.jianshu.com/p/923bbf58a926来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。...

2020-11-09 17:24:54 8230 1

原创 python selenium 实现内嵌窗口滚动

https://sqa.stackexchange.com/questions/25593/how-to-find-scroll-bar-xpath滚动条不是网页的HTML元素,而是由于浏览器尺寸不足而加入的一个工具,因此它没有xpath,

2020-11-06 18:19:05 2645 1

转载 Ubuntu忘记密码

偶尔会遇到Ubuntu无法正常启动的情况,这时候需修改某些文件让系统正常启动,如果直接进入 recovery 模式,默认是文件权限只读,无法修改文件。这时我们需要进入recovery 的单用户模式,获得修改文件的权限。1、重启ubuntu,随即长按shirft进入grub菜单,或等待grub菜单的出现,如下图2、选择recovery mode,接着用方向键将光标移至recovery mode,按"e"键进入编辑页面,如下图:3、将 ro recovery nomodeset 改为 rw

2020-09-19 11:53:35 370

转载 Pandas:让你像写SQL一样做数据分析(一)

1. 引言Pandas是一个开源的Python数据分析库。Pandas把结构化数据分为了三类:Series,1维序列,可视作为没有column名的、只有一个column的DataFrame; DataFrame,同Spark SQL中的DataFrame一样,其概念来自于R语言,为多column并schema化的2维结构化数据,可视作为Series的容器(container); Panel,为3维的结构化数据,可视作为DataFrame的容器;DataFrame较为常见,因此本文主要讨论内容将

2020-07-05 13:05:18 300

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

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

2020-03-15 23:59:24 187

原创 C++理解upper_bound 和lower_bound

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

2020-03-14 12:29:04 1173

原创 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.begin() + 1);删除一串元素// Deletes the second throu...

2020-03-01 17:34:13 1625

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

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

2020-02-25 20:11:51 4871 2

原创 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 1137

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

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

2019-11-01 12:34:52 852 1

原创 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 * (UNIT_SIZE + 10)) # shape[0]表示横坐标,shape[1...

2019-09-16 17:21:53 2697

原创 某一点绕另一点逆时针旋转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 19338

原创 矩形重叠问题

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

2019-08-31 17:43:18 848

原创 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 1668

原创 289. Game of Life

https://leetcode.com/problems/game-of-life/1. 思路使用naive的解法遍历数组内的每个元素,但是改变in-place地改变每个位置的值后,就会影响后面位置的next generation判断。解决方法是把next generation结果放在二进制数的第二位,不影响当前的状态(0 1都存储在第1位),采用&1操作取得当前的状态,...

2019-08-27 23:00:11 133

原创 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-index-mapping-in-Java先找出数组的中位数,然后for循环遍历数组,大于中位数的放...

2019-08-27 09:50:34 163

原创 快排的稳定性思考

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

2019-08-26 23:48:36 2176

原创 gas station 证明解是存在的

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

2019-08-16 21:04:12 267

原创 ROI pooling理解

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

2019-08-13 09:55:13 508

原创 pytorch实现upsample

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

2019-08-11 16:16:14 3395

原创 406. Queue Reconstruction by Height

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

2019-07-31 11:14:24 187

原创 295. Find Median from Data Stream

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

2019-07-31 09:25:01 138

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

论文地址:https://arxiv.org/pdf/1703.06211相关代码(非官方):https://github.com/4uiiurz1/pytorch-deform-conv-v2/tree/529abbbe9b81e852d272220c855255fd631c43c61. 为什么做DCN传统的卷积采用固定尺寸的卷积核,不能很好地适应几何形变2. 什么是DCN可...

2019-07-25 14:26:39 14459 4

原创 目标检测map理解

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

2019-07-18 13:35:49 2011

原创 437. Path Sum III

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

2019-07-16 21:44:52 140

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

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

2019-07-16 15:24:10 83

原创 347. Top K Frequent Elements题解

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

2019-07-13 12:48:59 116

转载 oh my zsh安装和配置

oh my zshshell的类型有很多种,linux下默认的是bash,虽然bash的功能已经很强大,但对于以懒惰为美德的程序员来说,bash的提示功能不够强大,界面也不够炫,并非理想工具。而zsh的功能极其强大,只是配置过于复杂,起初只有极客才在用。后来,有个穷极无聊的程序员可能是实在看不下去广大猿友一直只能使用单调的bash, 于是他创建了一个名为oh-my-zsh的开源项目......

2019-07-12 15:28:16 560

原创 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-with-cooldown/discuss/75928/Share-my-DP-solution-(B...

2019-07-06 10:42:04 173

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

这里介绍Mask R-CNN的mask分支,mask rcnn的idea很简单,就是在faster rcnn的基础上加个mask分支(另外把ROI pooling转化成ROIAlign),所以只要理解了mask分支,大概就能理解mask rcnn了。1. 结构:mask分支处理ROI得到固定尺寸的14*14*80的feature map,需要注意的是target不一定都是14*14的,...

2019-06-27 16:50:41 10482 4

原创 215. Kth Largest Element in an Array

https://leetcode.com/problems/kth-largest-element-in-an-array/1. 思路求第k大的数。如果先排序再取第k个数,时间复杂度O(nlogn),太naive采用快速排序的思路,每次遍历后返回pivot(快速排序中的专有名词)的位置,如果该位置不是k,则对新的更小的数组执行快速排序操作,依次类推,直到pivot的位置是k为止。...

2019-06-13 23:46:51 159

原创 朴素贝叶斯进行分类

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

2019-06-11 21:28:38 522

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

cascade rcnn这篇论文提到mismatch问题https://arxiv.org/pdf/1712.00726.pdf意思是training阶段和inference阶段,detector输入的proposal是不一样的,前者的proposal经过筛选(IoU>threshold)质量更高,后者的未经过筛选,质量更差。用前者训练得到的detector来测试后者的propo...

2019-06-06 09:34:27 1248

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

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

2019-05-29 17:28:13 16845

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

CTRL+B,:进入指令页面1. CTRL+U向上翻页默认是EMACS的模式,改成vi模式,进入copymode就可以向上翻页了,Ctrl-u向上翻页setw -g mode-keys vi2. 进入鼠标模式set -g mouse onset -g mouse off3. 设置历史行数set -g history-limit 65535...

2019-05-27 15:10:12 584

原创 148. Sort List

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

2019-05-25 16:32:21 132

原创 76. Minimum Window Substring

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

2019-05-20 19:04:43 131

原创 python实现引用参数

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

2019-05-12 10:54:38 3408

原创 48. Rotate Image

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

2019-05-11 12:40:30 103

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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