自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ImageProcessing100Wen (Opencv C++) Q9-19

项目:项目地址:ImageProcessing100Wen(极客教程地址)收集了为图像处理初学者设计的 100 个问题以及对应的理论知识。和蝾螈一起学习基本的图像处理知识,理解图像处理算法吧!解答这里提出的问题请不要调用OpenCV的API,自己动手实践。相信对你掌握opencv有比较好的帮助。问题 9-19: 9高斯滤波(Gaussian Filter)10中值滤波(Median Filter)11均值滤波器12Motion Filter13MAX

2021-04-07 14:51:50 210

原创 C++实现简单Socket通信

参考学习:C++:实现socket通信(TCP/IP)实例1. 一对一server.cpp// server.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。/*服务端:建立socket,申明自身port和IP,并绑定到socket,使用listen监听,然后不断用accept查看是否有连接。如果有,捕获socket,并通过recv获取消息内容,通信完成后调用closeSocket关闭accept捕获到的socket。如果不需要等待任何客户端连接,直接用closeSo

2021-03-31 11:44:42 3426 5

原创 ImageProcessing100Wen (Opencv C++) Q1-8

项目地址:ImageProcessing100Wen收集了为图像处理初学者设计的 100 个问题以及对应的理论知识。和蝾螈一起学习基本的图像处理知识,理解图像处理算法吧!解答这里提出的问题请不要调用OpenCV的API,自己动手实践。相信对你掌握opencv有比较好的帮助。首先,配置安装opencv可以戳这里:VS2017配置opencv教程(超详细!!!)问题1-8: 1通道替换2灰度化(Grayscale)3二值化(Thresholding)4大津算法

2021-01-28 23:20:55 326

翻译 通过边界跟踪的数字化二值图像的拓扑结构分析(翻译)

论文原文地址:[Suzuki85] Suzuki, S. and Abe, K., TopologicalStructural Analysis of Digitized Binary Images by Border Following.CVGIP 30 1, pp32-46 (1985)通过边界跟踪的数字化二值图像的拓扑结构分析数字化二值化图像的拓扑分析将会提出两种边界跟踪算法。第一种算法判定二值图像边界间的包围关系,因为外层边界和孔边界分别与像素值为 1 的连通域(1-连通域)和孔存在一一对应的关

2021-01-25 00:14:56 2111 6

原创 LeetCode每日一题--228. 汇总区间(遍历)

题目:跳转至 228. 汇总区间给定一个无重复元素的有序整数数组 nums 。返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。列表中的每个区间范围 [a,b] 应该按如下格式输出:“a->b” ,如果 a != b“a” ,如果 a == b示例 1:输入:nums = [0,1,2,4,5,7]输出:[“0->2”,“4->5”,“7”]解释:区间

2021-01-21 23:02:41 108

原创 LeetCode每日一题--123. 买卖股票的最佳时机 III(动态规划)

题目:跳转至 123. 买卖股票的最佳时机 III给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入:prices = [3,3,5,0,0,3,1,4]输出:6解释:在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3

2021-01-21 00:23:19 112

原创 LeetCode每日一题--189. 旋转数组(数组)

题目:跳转至 189. 旋转数组给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。进阶:尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。你可以使用空间复杂度为 O(1) 的 原地 算法解决这个问题吗?示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2

2021-01-19 23:02:31 98

原创 LeetCode每日一题--547. 省份数量(广度优先搜索 深度优先搜索 并查集)

题目:跳转至 547. 省份数量有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。给你一个 n x n 的矩阵 isConnected ,其中 isConnected[i][j] = 1 表示第 i 个城市和第 j 个城市直接相连,而 isConnected[i][j] = 0 表示二者不直接相连。返回矩阵中 省份 的数量。示例

2021-01-19 21:07:00 211

原创 运行开源项目时遇到的问题及解答

在运行开源项目时报错:找不到 msvcr120.dll免费下载缺失的DLL文件(中文版)

2021-01-19 19:19:57 195

原创 LeetCode每日一题--399. 除法求值(广度优先搜索 动态规划 带权并查集)

题目:跳转至 399. 除法求值思路:题目跟猜谜一样,对照示例进行理解,涉及到图就不灵光。

2021-01-11 01:39:01 150

原创 LeetCode每日一题--830. 较大分组的位置(遍历)

题目:跳转至 830. 较大分组的位置思路:

2021-01-10 22:41:14 96 1

原创 LeetCode每日一题--509. 斐波那契数(递归 动态规划)

题目:跳转至 509. 斐波那契数思路:

2021-01-10 22:34:21 103

原创 LeetCode每日一题--86. 分隔链表(链表)

题目:跳转至 86. 分隔链表思路:

2021-01-07 01:13:34 124

原创 LeetCode每日一题--239. 滑动窗口最大值(优先队列 单调队列)

题目:跳转至 239. 滑动窗口最大值思路:

2021-01-07 00:04:11 205

原创 LeetCode每日一题--605. 种花问题(贪心)

题目:跳转至 605. 种花问题思路:

2021-01-06 00:50:41 107

原创 LeetCode每日一题--435. 无重叠区间(贪心)

题目:跳转至 435. 无重叠区间思路:

2021-01-06 00:41:56 130

原创 LeetCode每日一题--1046. 最后一块石头的重量(优先队列 大顶堆)

题目:跳转至 1046. 最后一块石头的重量思路:

2021-01-05 00:22:04 171

原创 LeetCode每日一题--330. 按要求补齐数组(贪心)

题目:跳转至 330. 按要求补齐数组给定一个已排序的正整数数组 nums,和一个正整数 n 。从 [1, n] 区间内选取任意个数字补充到 nums 中,使得 [1, n] 区间内的任何数字都可以用 nums 中某几个数字的和来表示。请输出满足上述要求的最少需要补充的数字个数。示例 1:输入: nums = [1,3], n = 6输出: 1解释:根据 nums 里现有的组合 [1], [3], [1,3],可以得出 1, 3, 4。现在如果我们将 2 添加到 nums 中, 组合变为: [

2021-01-04 22:45:31 142

原创 LeetCode每日一题--188. 买卖股票的最佳时机 IV(动态规划)

题目:跳转至 188. 买卖股票的最佳时机 IV给定一个整数数组 prices ,它的第 i 个元素 prices[i] 是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入:k = 2, prices = [2,4,1]输出:2解释:在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 = 4) 的时候卖出,这笔交易所能获得利润 = 4-2

2021-01-03 23:50:03 137

原创 LeetCode每日一题--205. 同构字符串(哈希表)

题目:跳转至 205. 同构字符串给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = “egg”, t = “add”输出: true示例 2:输入: s = “foo”, t = “bar”输出: false示例 3:输入: s = “paper”, t = “title”输出:

2021-01-03 23:30:44 81

原创 LeetCode每日一题--85. 最大矩形(单调栈)

题目:跳转至 85. 最大矩形给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。示例 1:输入:matrix = [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,“1”,“1”],[“1”,“0”,“0”,“1”,“0”]]输出:6解释:最大矩形如上图所示。示例 2:输入:matrix = []输出:0示例 3:输入:matrix = [[“0”]

2021-01-03 23:21:08 390

原创 LeetCode每日一题--455. 分发饼干(排序)

题目:跳转至 455. 分发饼干假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例 1:输入: g = [1,2,3], s = [1,1]输出: 1解释:你有三个孩子和两块小

2020-12-25 23:40:08 159

原创 LeetCode每日一题--135. 分发糖果(两次遍历)

题目:跳转至 135. 分发糖果老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。相邻的孩子中,评分高的孩子必须获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例 1:输入: [1,0,2]输出: 5解释: 你可以分别给这三个孩子分发 2、1、2 颗糖果。示例 2:输入: [1,2,2]输出: 4解释: 你可以分别给这三个孩子分发 1、2、1

2020-12-24 23:03:10 266

原创 LeetCode每日一题--387. 字符串中的第一个唯一字符(计数)

题目:跳转至 387. 字符串中的第一个唯一字符给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。示例:s = “leetcode”返回 0s = “loveleetcode”返回 2提示:你可以假定该字符串只包含小写字母。class Solution {public: int firstUniqChar(string s) { }};思路:简单的有点恍惚,如果没有提示中只包含小写字母就哈希表,说了只有26位那就直接列表了。

2020-12-23 22:25:40 73

原创 LeetCode每日一题--103. 二叉树的锯齿形层序遍历(广度优先遍历)

题目:跳转至 103. 二叉树的锯齿形层序遍历给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7],       3      /  \    9   20         /  

2020-12-22 22:29:03 80

原创 LeetCode每日一题--746. 使用最小花费爬楼梯(动态规划)

题目:跳转至 746. 使用最小花费爬楼梯数组的每个索引作为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 costi。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。示例 1:输入: cost = [10, 15, 20]输出: 15解释: 最低花费是从cost[1]开始,然后走两步即可到阶梯顶,一共花费15。示例 2:输入: cost = [1,

2020-12-21 22:42:37 133

原创 LeetCode每日一题--316. 去除重复字母(单调栈)

题目:跳转至 316. 去除重复字母给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。**注意:**该题与 1081 相同示例 1:输入:s = “bcabc”输出:“abc”示例 2:输入:s = “cbacdcbc”输出:“acdb”提示:1 <= s.length <= 104s 由小写英文字母组成class Solution {public: string re

2020-12-21 00:00:50 168

原创 LeetCode每日一题--48. 旋转图像(矩阵)

题目:跳转至 48. 旋转图像给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix =[  [1,2,3],  [4,5,6],  [7,8,9]],原地旋转输入矩阵,使其变为:[  [7,4,1],  [8,5,2],  [9,6,3]]示例 2:给定 ma

2020-12-20 00:23:41 86 1

原创 LeetCode每日一题--389. 找不同(计数,位运算)

题目:跳转至 389. 找不同给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例 1:输入:s = “abcd”, t = “abcde”输出:“e”解释:‘e’ 是那个被添加的字母。示例 2:输入:s = “”, t = “y”输出:“y”示例 3:输入:s = “a”, t = “aa”输出:“a”示例 4:输入:s = “ae”, t = “aea”输出:“a”提示:0

2020-12-18 22:00:45 105 2

原创 LeetCode每日一题--714. 买卖股票的最佳时机含手续费(动态规划 贪心)

题目:跳转至 714. 买卖股票的最佳时机含手续费给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;非负整数 fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。注意: 这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。示例 1:输入: prices = [1, 3, 2, 8, 4, 9], fee = 2输出:

2020-12-17 22:04:18 234

原创 LeetCode每日一题--290. 单词规律(哈希表)

题目:跳转至 290. 单词规律给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。示例1:输入: pattern = “abba”, str = “dog cat cat dog”输出: true示例 2:输入:pattern = “abba”, str = “dog cat cat fish”输出: false示例 3:输入

2020-12-16 22:16:51 148

原创 LeetCode每日一题--738. 单调递增的数字(贪心)

题目:跳转至 738. 单调递增的数字给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。)示例 1:输入: N = 10输出: 9示例 2:输入: N = 1234输出: 1234示例 3:输入: N = 332输出: 299说明: N 是在 [0, 10^9] 范围内的一个整数。class Solution {public

2020-12-15 22:36:59 497

原创 LeetCode每日一题--49. 字母异位词分组(哈希表)

题目:跳转至 49. 字母异位词分组给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]说明:所有输入均为小写字母。不考虑答案输出的顺序。class Solution {public: vector<vector<string>&

2020-12-14 22:28:27 91

原创 LeetCode每日一题--217. 存在重复元素(排序)

题目:跳转至 217. 存在重复元素给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: trueclass Solution {public: bool containsDuplicate(vector<

2020-12-13 22:14:54 84

原创 LeetCode每日一题--376. 摆动序列(贪心 动态规划)

题目:跳转至 376. 摆动序列如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5] 和 [1,7,4,5,5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。给定一个整数序列,返回作为摆动序列的最长子序列的长度。 通过从原始序

2020-12-12 23:11:44 228

原创 LeetCode每日一题--649. Dota2 参议院(贪心 队列)

题目:跳转至 649. Dota2 参议院Dota2 的世界里有两个阵营:Radiant(天辉)和 Dire(夜魇)Dota2 参议院由来自两派的参议员组成。现在参议院希望对一个 Dota2 游戏里的改变作出决定。他们以一个基于轮为过程的投票进行。在每一轮中,每一位参议员都可以行使两项权利中的一项:禁止一名参议员的权利:参议员可以让另一位参议员在这一轮和随后的几轮中丧失所有的权利。宣布胜利:(如果参议员发现有权利投票的参议员都是同一个阵营的,他可以宣布胜利并决定在游戏中的有关变化。)给定一

2020-12-11 23:21:38 136

原创 LeetCode每日一题--860. 柠檬水找零(贪心)

题目:跳转至 860. 柠檬水找零在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。如果你能给每位顾客正确找零,返回 true ,否则返回 false 。示例 1:输入:[5,5,5,10,20]输出:true解释:前 3 位顾客那里,我们按顺序收取

2020-12-10 22:10:42 223

原创 LeetCode每日一题--62. 不同路径(数学,动态规划)

题目:跳转至 62. 不同路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例 1:输入:m = 3, n = 7输出:28示例 2:输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。向右 -> 向右 -> 向下向右 -> 向下 -> 向右

2020-12-10 21:26:30 164

原创 LeetCode每日一题--842. 将数组拆分成斐波那契序列(回溯,剪枝)

题目:跳转至 842. 将数组拆分成斐波那契序列给定一个数字字符串 S,比如 S = “123456579”,我们可以将它分成斐波那契式的序列 [123, 456, 579]。形式上,斐波那契式序列是一个非负整数列表 F,且满足:0 <= F[i] <= 2^31 - 1,(也就是说,每个整数都符合 32 位有符号整数类型);F.length >= 3;对于所有的0 <= i < F.length - 2,都有 F[i] + F[i+1] = F[i+2] 成立。

2020-12-08 22:33:56 362

原创 LeetCode每日一题--861. 翻转矩阵后的得分(数学)

题目:跳转至 861. 翻转矩阵后的得分有一个二维矩阵 A 其中每个元素的值为 0 或 1 。移动是指选择任一行或列,并转换该行或列中的每一个值:将所有 0 都更改为 1,将所有 1 都更改为 0。在做出任意次数的移动后,将该矩阵的每一行都按照二进制数来解释,矩阵的得分就是这些数字的总和。返回尽可能高的分数。示例:输入:[[0,0,1,1],[1,0,1,0],[1,1,0,0]]输出:39解释:转换为 [[1,1,1,1],[1,0,0,1],[1,1,1,1]]0b1111 + 0b

2020-12-07 16:26:04 178 2

空空如也

空空如也

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

TA关注的人

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