- 博客(40)
- 收藏
- 关注
原创 学习+刷题:剑指 Offer 30. 包含min函数的栈
首先在栈内压入一个INT_MAX 然后开始往S2内压入数字,压入的时候比较一下栈顶元素S2.top() 和需要压入的元素value大小。定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。链接:https://leetcode.cn/problems/bao-han-minhan-shu-de-zhan-lcof。一个就当作普通的栈S1,来一个数据压入一个数据。因为栈的插入和弹出时间复杂度都是O(1)
2023-04-11 20:50:51 390
原创 学习+刷题:347. 前 K 个高频元素
首先遍历整个数组,并记录每个数字出现的次数,形成一个以数字元素为key值,出现次数为value的map数组,然后定义一个新的排序函数,是根据map的value值进行降序。给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。链接:https://leetcode.cn/problems/top-k-frequent-elements。输入: nums = [1,1,1,2,2,3], k = 2。输入: nums = [1], k = 1。来源:力扣(LeetCode)
2023-04-03 20:09:25 98
原创 学习+刷题:239. 滑动窗口最大值
给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。链接:https://leetcode.cn/problems/sliding-window-maximum。输入:nums = [1,3,-1,-3,5,3,6,7], k = 3。思路:代码随想录上给出了单调栈的解法,明天再说。输入:nums = [1], k = 1。输出:[3,3,5,5,6,7]返回 滑动窗口中的最大值。
2023-03-30 22:30:50 150
原创 学习+刷题:150. 逆波兰表达式求值
代码随想录里给出的解题思路非常生动,就是一直往栈里压入数据,直到遇到运算符,就把栈里的头两个数字拿出来做操作,操作以后得到的数字再次压入栈。链接:https://leetcode.cn/problems/evaluate-reverse-polish-notation。给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。思路:这个题感觉还挺重要的,有点像是能在选择题中出现的样子。有效的算符为 '+'、'-'、'*' 和 '/'。输入是一个根据逆波兰表示法表示的算术表达式。
2023-03-28 16:22:29 319
原创 学习+刷题:1047. 删除字符串中的所有相邻重复项
例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。的字母,只看两个字母,所以不用考虑那么复杂,直接用栈压入,遇到相同的就弹出。在 S 上反复执行重复项删除操作,直到无法继续删除。思路:因为题目中说的是:重复项删除操作会选择。输入:"abbaca"
2023-03-28 15:50:56 79
原创 学习+刷题:232. 用栈实现队列
你 只能 使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法的。你所使用的语言也许不支持栈。你可以使用 list 或者 deque(双端队列)来模拟一个栈,只要是标准的栈操作即可。请你仅使用两个栈实现先入先出队列。否则,返回 false。void push(int x) 将元素 x 推到队列的末尾。int pop() 从队列的开头移除并返回元素。int peek() 返回队列开头的元素。
2023-03-16 21:39:42 39
原创 opencv(C++)学习记录贴——图像金字塔和二值化函数
函数1:pyrDown()函数原型:void pyrDown(InputArray src, OutputArray dst, const Size& dstsize=Size());函数作用:先对图像进行高斯平滑,然后再进行降采样(将图像尺寸行和列方向缩减一半);函数2:pyrUp()函数函数原型:void pyrUp(InputArray src, OutputArray dst, const Size& dstsize=Size());函数作用:先
2021-11-23 20:54:58 2759
原创 学习opencv第5天C++Opencv两张图片Alpha融合
使用cvAddWeighted执行Alpha融合cvAddWeighted(img1, alpha, img2, beta, gamma, dst);img1:第一张图片alpha:融合时第一张图片的参数img2:第二张图片beta:融合时第二张图片的参数gamma:常数项,往往取决于像素要调整到的平均值和最大值dst:输出的图像dst = alpha*src1 + beta*src2 + gamma当alpha为a,beta为1-a,gamma为0,其中,0<=a&l
2021-08-27 11:29:11 939 2
原创 vs2019+opencv环境配置,不用每次都设置属性目录
因为最近也是刚开始学习图像处理,一开始每次新建项目之后都需要重新设置属性感觉很麻烦,就找了很多帖子学习经验,其实还挺简单的。首先前面下载https://opencv.org/releases.html这里是官网,我下载的4.5.2,点击Sources就可以直接下载了下载的时候浏览器可能会阻止,点击右边三个点选择保留就会继续下载了下载完解压,找到解压文件里的build文件夹——x64文件夹——vc15文件夹——bin文件夹复制上面的路径,比如我的是:C:\software\OpenCv\.
2021-08-25 12:59:00 2383 1
原创 C++输出窗口总是显示一堆路径怎么解决(opencv)
如图上所示最近刚开始自学opencv一开始没觉得这个有啥问题,因为都是主要看输出图像最近用到这个显示通道跟像素数的时候感觉很别扭,但又不知道问题出在哪球球大神帮忙上一篇没贴代码,所以重新描述了一下问题#include<opencv2/opencv.hpp>#include<iostream>#include<opencv2/highgui/highgui_c.h>using namespace std;using namespace cv;..
2021-08-24 17:20:43 532 2
原创 2021-08-24
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-08-24 16:53:34 56
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人