![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
胖虎卖汤圆
上海科技大学硕士
展开
-
C++ Lambda Expression
https://zhuanlan.zhihu.com/p/384314474原创 2023-05-23 00:26:57 · 119 阅读 · 0 评论 -
C/C++inline
https://www.runoob.com/w3cnote/cpp-inline-usage.html原创 2023-05-23 00:23:25 · 115 阅读 · 0 评论 -
Task06 边缘检测
Datawhale 计算机视觉基础-图像处理(上)- Task06 边缘检测6.1 简介6.1.1 什么是边缘?边缘是图像强度函数快速变化的地方6.1.2 如何检测边缘?为了检测边缘,我们需要检测图像中的不连续性,可以使用导数来检测不连续性。如上图所示,上图的第一幅图表示一张数字图片,我们对水平红线处进行求导,便可得到上图二中的关系,可以看到在边缘处有着较大的跳变。但是,导数也会受到...原创 2020-05-01 23:23:20 · 531 阅读 · 0 评论 -
OpenCV阈值分割_二值化
Datawhale 计算机视觉基础-图像处理(上)-Task05 图像分割/二值化5.1 简介该部分的学习内容是对经典的阈值分割算法进行回顾,图像阈值化分割是一种传统的最常用的图像分割方法,因其实现简单、计算量小、性能较稳定而成为图像分割中最基本和应用最广泛的分割技术。它特别适用于目标和背景占据不同灰度级范围的图像。它不仅可以极大的压缩数据量,而且也大大简化了分析和处理步骤,因此在很多情况下,...原创 2020-04-29 23:33:38 · 606 阅读 · 0 评论 -
OpenCV图像滤波
Datawhale 计算机视觉基础-图像处理(上)-Task04 图像滤波4.1 简介图像的实质是一种二维信号,滤波是信号处理中的一个重要概念。在图像处理中,滤波是一种非常常见的技术,它们的原理非常简单,但是其思想却十分值得借鉴,滤波是很多图像算法的前置步骤或基础,掌握图像滤波对理解卷积神经网络也有一定帮助。4.2 学习目标了解图像滤波的分类和基本概念理解均值滤波/方框滤波、高斯...原创 2020-04-27 19:20:19 · 555 阅读 · 0 评论 -
OpenCV彩色空间互转及其应用
Datawhale 计算机视觉基础-图像处理(上)-Task03 彩色空间互转3.1 简介图像彩色空间互转在图像处理中应用非常广泛,而且很多算法只对灰度图有效;另外,相比RGB,其他颜色空间(比如HSV、HSI)更具可分离性和可操作性,所以很多图像算法需要将图像从RGB转为其他颜色空间,所以图像彩色互转是十分重要和关键的。3.2 学习目标了解相关颜色空间的基础知识理解彩色空间互转的理论...原创 2020-04-25 21:07:19 · 455 阅读 · 2 评论 -
Opencv图像几何变换
DataWhale 机器视觉组队学习task22.1 简介 该部分将对基本的几何变换进行学习,几何变换的原理大多都是相似,只是变换矩阵不同,因此,我们以最常用的平移和旋转为例进行学习。在深度学习领域,我们常用平移、旋转、镜像等操作进行数据增广;在传统CV领域,由于某些拍摄角度的问题,我们需要对图像进行矫正处理,而几何变换正是这个处理过程的基础,因此了解和学习几何变换也是有必要的。这次我们带...原创 2020-04-23 21:05:07 · 1235 阅读 · 1 评论 -
Leetcode实战: 44. 通配符匹配
题目给定一个字符串 (s) 和一个字符模式 § ,实现一个支持 ‘?’ 和 ‘*’ 的通配符匹配。‘?’ 可以匹配任何单个字符。‘*’ 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 ? 和 *。示例1输入:s = "aa"p = "a"输出:...原创 2020-03-30 16:55:00 · 128 阅读 · 0 评论 -
Leetcode实战: 134. 加油站
题目在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同。输入数组中的元...原创 2020-03-28 17:11:42 · 163 阅读 · 0 评论 -
Leetcode实战:55. 跳跃游戏
题目给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例1输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例2输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达...原创 2020-03-28 11:37:52 · 105 阅读 · 0 评论 -
Leetcode实战: 455. 分发饼干
题目假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。注意:你可以假设胃口值为正。...原创 2020-03-27 11:01:24 · 175 阅读 · 0 评论 -
Leetcode实战: 392. 判断子序列
题目给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例1s = ...原创 2020-03-26 11:15:32 · 101 阅读 · 0 评论 -
Leetcode实战: 122. 买卖股票的最佳时机 II
题目给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能...原创 2020-03-25 16:22:22 · 158 阅读 · 0 评论 -
Leetcode实战: 99. 恢复二叉搜索树
题目二叉搜索树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。示例1示例2算法实现:参考:https://leetcode-cn.com/problems/recover-binary-search-tree/solution/zhong-xu-bian-li-shuang-zhi-zhen-zhao-ni-xu-dui-mo/class Solution {p...原创 2020-03-24 22:34:58 · 106 阅读 · 0 评论 -
leetcode算法练习——不同的二叉搜索树
题目:给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?示例:代码如下:长度为n的序列的不同二叉搜索树个数C(n)为卡塔兰数。首先,设长度为nnn,数iii作为根时,二叉搜索树的个数为F(i,n)F(i,n)F(i,n)则C(n)C(n)C(n)=∑i=1nF(i,n)\sum^n_{i=1}F(i,n)∑i=1nF(i,n)当数iii作为根时,111到i−1i...原创 2020-03-23 23:48:28 · 100 阅读 · 0 评论 -
Leetcode实战: 94. 二叉树的中序遍历
题目给定一个二叉树,返回它的中序 遍历。示例进阶: 递归算法很简单,你可以通过迭代算法完成吗?算法实现:递归class Solution {public: vector<int> inorderTraversal(TreeNode* root) { vector<int> res; return dfs(root, re...原创 2020-03-22 19:12:53 · 94 阅读 · 0 评论 -
Leetcode实战: 104. 二叉树的最大深度
题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。算法实现class Solution {public: int maxDepth(TreeNode* root) { return dfs...原创 2020-03-21 17:14:29 · 131 阅读 · 0 评论 -
Leetcode实战: 101. 对称二叉树
题目:给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:说明如果你可以运用递归和迭代两种方法解决这个问题,会很加分。算法实现将这棵树分成左子树和右子树,然后分别前序遍历,左边先遍历左节点,右边先遍历右节点,转化成相同的两棵树问题和BFS的区别就是BFS会消耗...原创 2020-03-20 18:01:56 · 201 阅读 · 0 评论 -
Leetcode实战:100. 相同的树
题目:给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例1输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例2输入: 1 ...原创 2020-03-19 11:51:03 · 112 阅读 · 0 评论 -
Leetcode实战:10. 正则表达式匹配
'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素原创 2020-03-18 21:18:43 · 184 阅读 · 0 评论 -
Leetcode实战: 5. 最长回文子串
题目:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。算法实现:中心扩散法class Solution {public: string longestPalindrome(string s) { int length(1), i(1), j(0); int size = s.size(); unordered_set<char&g...原创 2020-03-17 20:55:16 · 130 阅读 · 0 评论 -
Leetcode实战: 3. 无重复字符的最长子串
题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例1输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例2输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例3输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所...原创 2020-03-16 21:40:27 · 104 阅读 · 0 评论 -
Leetcode实战: 20. 有效的括号
题目:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例1输入: "()"输出: true示例2输入: "()[]{}"输出: true示例3输入: "(]"输出: false示例4输入: "(...原创 2020-03-15 18:57:46 · 179 阅读 · 0 评论 -
Leetcode实战: 14. 最长公共前缀
题目:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例1输入: ["flower","flow","flight"]输出: "fl"示例2输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明所有输入只包含小写字母 a-z 。算法实现:class Solution {public:...原创 2020-03-14 16:08:03 · 157 阅读 · 0 评论 -
Leetcode实战: 13. 罗马数字转整数
题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符数值I1V5X10L50C100D5000M1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小的数字...原创 2020-03-13 17:17:37 · 118 阅读 · 0 评论 -
Leetcode实战: 23. 合并K个排序链表
题目合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6算法实现:方法一,两两合并/** * Definition for singly-linked list. ...原创 2020-03-13 00:21:23 · 104 阅读 · 0 评论 -
Leetcode实战: 19.删除链表的倒数第n个节点
题目:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.分析:双指针。先令虚拟节点 firHead 指向 head,设定双指针lll和mmm,初始都指向firHead。移动mmm,直到lll与mm...原创 2020-03-12 20:59:25 · 96 阅读 · 0 评论 -
Leetcode实战: 123. 买卖股票的最佳时期
题目:给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例:输入: [3,3,5,0,0,3,1,4]输出: 6解释: 在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利...原创 2020-03-06 23:33:06 · 119 阅读 · 0 评论 -
Leetcode实战:16. 最接近的三数之和
题目给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例:例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).算法实现:class So...原创 2020-03-04 23:53:52 · 116 阅读 · 1 评论 -
Leetcode实战:15. 三数之和
题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]算法实现:双指针cl...原创 2020-03-03 23:07:06 · 92 阅读 · 0 评论 -
Leetcode实战:27. 移除元素
题目给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例1给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素...原创 2020-03-03 00:26:24 · 80 阅读 · 0 评论 -
Leetcode实战:26. 删除排序数组中的重复项
题目:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。示例2:给...原创 2020-03-02 00:16:36 · 103 阅读 · 0 评论 -
Leetcode实战:1.两数之和
题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:在这里插入代码片class Solution {public: vector<int> twoSum(vector<int>& num...原创 2020-01-12 15:32:24 · 139 阅读 · 1 评论 -
蓝桥杯11.18:大数乘法
题目描述当两个比较大的整数相乘时,可能会出现数据溢出的情形。为避免溢出,剋采用字符串的方法来实现两个大数之间的乘法。具体来说,首先以字符串的形式输入两个整数,每个整数的长度不会超过8位,然后把它们相乘的结果存储在另一个字符串当中(长度不会超过16位),最后把这个字符串打印出来。例如,假设用户输入为:62773417 和 12345678,则输出结果为:774980393241726输入62...原创 2019-11-18 21:40:42 · 966 阅读 · 0 评论