这道题让我们验证单词缩写,关于单词缩写LeetCode上还有两道相类似的题目Unique Word Abbreviation和Generalized Abbreviation。这道题给了我们一个单词和一个缩写形式,让我们验证...
- 御风而归 2023-02-03
[LeetCode] Valid Word Abbreviation 验证单词缩写
- 御风而归 2023-02-03
[LeetCode] 410. Split Array Largest Sum 分割数组的最大值
这道题给了我们一个非负数的数组 nums 和一个整数m,让把数组分割成m个非空的连续子数组,让最小化m个子数组中的最大值。开始以为要用博弈论中的最小最大化算法,可是想了半天发现并不会做,于是后面决定采用无脑暴力破解,在 nu...
- 御风而归 2023-02-03
[LeetCode] 411. Minimum Unique Word Abbreviation 最短的独一无二的单词缩写
这道题实际上是之前那两道Valid Word Abbreviation和Generalized Abbreviation的合体,我们的思路其实很简单,首先找出target的所有的单词缩写的形式,然后按照长度来排序,小的排前面...
- 御风而归 2023-02-03
[LeetCode] 415. Add Strings 字符串相加
这道题让我们求两个字符串的相加,之前 LeetCode 出过几道类似的题目,比如二进制数相加,还有链表相加,或是字符串加1,基本思路很类似,都是一位一位相加,然后算和算进位,最后根据进位情况看需不需要补一个高位,难度不大,参...
- 御风而归 2023-02-03
[LintCode] Median of Two Sorted Arrays 两个有序数组的中位数
LeetCode上的原题,请参见我之前的博客Median of Two Sorted Arrays。解法一:解法二:...
- 御风而归 2023-02-03
[LintCode] Reverse Linked List 倒置链表
LeetCode上的原题,请参见我之前的博客Reverse Linked List。解法一:解法二:...
- 御风而归 2023-02-03
[LeetCode] 416. Partition Equal Subset Sum 相同子集和分割
这道题给了我们一个数组,问这个数组能不能分成两个非空子集合,使得两个子集合的元素之和相同。那么想,原数组所有数字和一定是偶数,不然根本无法拆成两个和相同的子集合,只需要算出原数组的数字之和,然后除以2,就是 target,那...
- 御风而归 2023-02-03
[LintCode] Longest Substring Without Repeating Characters
LeetCode上的原题,请参见我之前的博客Longest Substring Without Repeating Characters。解法一:解法二:...
- 御风而归 2023-02-03
[LeetCode] Fizz Buzz 嘶嘶嗡嗡
这道题真心没有什么可讲的,就是分情况处理就行了。LeetCode All in One 题目讲解汇总(持续更新中... ...
- 御风而归 2023-02-03
Win 10 文件浏览器无法打开
今天遇到个很奇怪的问题,文件浏览器File Explorer无法正常显示,点击打开后任务栏上已经显示打开了,但是屏幕上却看不到任何窗口,开始以为机子中了恶意的木马,然后就疯狂的查毒,然而并没有解决问题,简直要抓狂了,差点就要...
- 御风而归 2023-02-03
[LeetCode] Sentence Screen Fitting 调整屏幕上的句子
这道题给我们了一个句子,由若干个单词组成,然后给我们了一个空白屏幕区域,让我们填充单词,前提是单词和单词之间需要一个空格隔开,而且单词不能断开,如果当前行剩余位置放不下某个单词,则必须将该单词整个移动到下一行。我刚开始想的是...
- 御风而归 2023-02-03
[LeetCode] Third Maximum Number 第三大的数
这道题让我们求数组中第三大的数,如果不存在的话那么就返回最大的数,题目中说明了这里的第三大不能和第二大相同,必须是严格的小于,而并非小于等于。这道题并不是很难,如果知道怎么求第二大的数,那么求第三大的数的思路都是一样的。那么...
- 御风而归 2023-02-03
[LeetCode] 421. Maximum XOR of Two Numbers in an Array 数组中异或值最大的两个数字
这道题是一道典型的位操作 Bit Manipulation 的题目,我开始以为异或值最大的两个数一定包括数组的最大值,但是 OJ 给了另一个例子 {10,23,20,18,28},这个数组的异或最大值是 10 和 20 异或...
- 御风而归 2023-02-03
[LeetCode] Valid Word Square 验证单词平方
这道题给了我们一个二位数组,每行每列都是一个单词,需要满足第k行的单词和第k列的单词要相等,这里不要求每一个单词的长度都一样,只要对应位置的单词一样即可。那么这里实际上也就是一个遍历二维数组,然后验证对应位上的字符是否相等的...
- 御风而归 2023-02-03
[LeetCode] Longest Repeating Character Replacement 最长重复字符置换
这道题给我们了一个字符串,说我们有k次随意置换任意字符的机会,让我们找出最长的重复字符的字符串。这道题跟之前那道 Longest Substring with At Most K Distinct Characters 很像...
- 御风而归 2023-02-03
[LeetCode] 425. Word Squares 单词平方
这道题是之前那道 Valid Word Square 的延伸,由于要求出所有满足要求的单词平方,所以难度大大的增加了,不要幻想着可以利用之前那题的解法来暴力破解,OJ 不会答应的。那么根据以往的经验,对于这种要打印出所有情况...
- 御风而归 2023-02-02
[LeetCode] 437. Path Sum III 二叉树的路径和之三
这道题让我们求二叉树的路径的和等于一个给定值,说明了这条路径不必要从根节点开始,可以是中间的任意一段,而且二叉树的节点值也是有正有负。那么可以用递归来做,相当于先序遍历二叉树,对于每一个节点都有记录了一条从根节点到当前节点到...
- 御风而归 2023-02-02
[LeetCode] All O`one Data Structure 全O(1)的数据结构
这道题让我们实现一个全是O(1 复杂度的数据结构,包括了增加key,减少key,获取最大key,获取最小key,这几个函数。由于需要常数级的时间复杂度,我们首先第一反应就是要用哈希表来做,不仅如此,我们肯定还需要用list来...
- 御风而归 2023-02-02
[LeetCode] 438. Find All Anagrams in a String 找出字符串中所有的变位词
这道题给了我们两个字符串s和p,让在s中找字符串p的所有变位次的位置,所谓变位次就是字符种类个数均相同但是顺序可以不同的两个词,那么肯定首先就要统计字符串p中字符出现的次数,然后从s的开头开始,每次找p字符串长度个字符,来验...
- 御风而归 2023-02-02
[LeetCode] 435. Non-overlapping Intervals 非重叠区间
这道题给了我们一堆区间,让求需要至少移除多少个区间才能使剩下的区间没有重叠,那么首先要给区间排序,根据每个区间的 start 来做升序排序,然后开始要查找重叠区间,判断方法是看如果前一个区间的 end 大于后一个区间的 st...
- 御风而归 2023-02-02
[LeetCode] Ternary Expression Parser 三元表达式解析器
这道题让我们解析一个三元表达式,我们通过分析题目中的例子可以知道,如果有多个三元表达式嵌套的情况出现,那么我们的做法是从右边开始找到第一个问号,然后先处理这个三元表达式,然后再一步一步向左推,这也符合程序是从右向左执行的特点...
- 御风而归 2023-02-02
[LintCode] Single Number 单独的数字
LeetCode上的原题,请参见我之前的博客Single Number。...
- 御风而归 2023-02-02
[LintCode] Add Two Numbers 两个数字相加
LeetCode上的原题,请参见我之前的博客Add Two Numbers。...
- 御风而归 2023-02-02
[LintCode] Delete Node in the Middle of Singly Linked List 在单链表的中间删除节点
LeetCode上的原题,请参见我之前的博客Delete Node in a Linked List。...
- 御风而归 2023-02-02
[LeetCode] Minimum Number of Arrows to Burst Balloons 最少数量的箭引爆气球
这道题给了我们一堆大小不等的气球,用区间范围来表示气球的大小,可能会有重叠区间。然后我们用最少的箭数来将所有的气球打爆。那么这道题是典型的用贪婪算法来做的题,因为局部最优解就等于全局最优解,我们首先给区间排序,我们不用特意去...
- 御风而归 2023-02-02
[LeetCode] 453. Minimum Moves to Equal Array Elements 最少移动次数使数组元素相等
这道题给了我们一个长度为n的数组,说是每次可以对 n-1 个数字同时加1,问最少需要多少次这样的操作才能让数组中所有的数字相等。那么想,为了快速的缩小差距,该选择哪些数字加1呢,不难看出每次需要给除了数组最大值的所有数字加1...
- 御风而归 2023-02-02
[LintCode] Maximum Depth of Binary Tree 二叉树的最大深度
LeetCode上的原题,请参见我之前的博客Maximum Depth of Binary Tree。解法一:解法二:...
- 御风而归 2023-02-02
[LintCode] Min Stack 最小栈
LeetCode上的原题,请参见我之前的博客Min Stack.解法一:解法二:...
- 御风而归 2023-02-02
[LintCode] Reverse Words in a String 翻转字符串中的单词
LeetCode上的原题,请参见我之前的博客Reverse Words in a String。解法一:解法二:解法三:...
- 御风而归 2023-02-02
[LeetCode] 454. 4Sum II 四数之和之二
这道题是之前那道 4Sum 的延伸,让我们在四个数组中各取一个数字,使其和为0。那么坠傻的方法就是遍历所有的情况,时间复杂度为 O(n4 。但是既然 Two Sum 那道都能将时间复杂度缩小一倍,那么这道题使用 HashMa...
- 御风而归 2023-02-02
[LeetCode] Assign Cookies 分点心
这道题给了我们一堆cookie,每个cookie的大小不同,还有一堆小朋友,每个小朋友的胃口也不同的,问我们当前的cookie最多能满足几个小朋友。这是典型的利用贪婪算法的题目,我们可以首先对两个数组进行排序,让小的在前面。...
- 御风而归 2023-02-02
[LeetCode] 456. 132 Pattern 132模式
这道题给了一个数组,让我们找到 132 的模式,就是第一个数小于第二第三个数,且第三个数小于第二个数。当然最直接最暴力的方法,就是遍历所有的三个数字的组合,然后验证是否满足这个规律。得莫,OJ 说打妹。那么就只能想办法去优化...
- 御风而归 2023-02-02
[LeetCode] Repeated Substring Pattern 重复子字符串模式
这道题给了我们一个字符串,问其是否能拆成n个重复的子串。那么既然能拆分成多个子串,那么每个子串的长度肯定不能大于原字符串长度的一半,那么我们可以从原字符串长度的一半遍历到1,如果当前长度能被总长度整除,说明可以分成若干个子字...
- 御风而归 2023-02-02
[LeetCode] Minimum Moves to Equal Array Elements II 最少移动次数使数组元素相等之二
这道题是之前那道Minimum Moves to Equal Array Elements的拓展,现在我们可以每次对任意一个数字加1或者减1,让我们用最少的次数让数组所有值相等。一般来说这种题目是不能用暴力方法算出所有情况,...
- 御风而归 2023-02-02
IOS UIAlertController 使用方法
在很多种语言中,alert都表示弹窗操作,弹窗功能非常有用,不仅可以用于正式的app功能中,也可以在调试中使用。在OC中,UIAlertController类用来控制弹窗操作。在IOS 8.0之前, 其使用UIAlertVi...
- 御风而归 2023-02-02
[LeetCode] 464. Can I Win 我能赢吗
这道题给了我们一堆数字,然后两个人,每人每次选一个数字,看数字总数谁先到给定值,有点像之前那道 Nim Game,但是比那题难度大。我刚开始想肯定说用递归啊,结果写完发现 TLE 了,后来发现我们必须要优化效率,使用 Has...
- 御风而归 2023-02-02
[LintCode] Linked List Cycle 单链表中的环
LeetCode上的原题,请参见我之前的博客Linked List Cycle。...
- 御风而归 2023-02-02
[LintCode] Container With Most Water 装最多水的容器
LeetCode上的原题,请参见我之前的博客Container With Most Water。解法一:解法二:...
- 御风而归 2023-02-02
[LintCode] Sort List 链表排序
LeetCode上的原题,请参见我之前的博客Sort List。解法一:解法二:...
- 御风而归 2023-02-02
[LintCode] Best Time to Buy and Sell Stock 买卖股票的最佳时间
LeetCode上的原题,请参见我之前的解法Best Time to Buy and Sell Stock。...
- 御风而归 2023-02-02
[LintCode] Product of Array Except Self 除本身之外的数组之积
LeetCode上的原题,请参见我之前的博客Product of Array Except Self。解法一:解法二:...
- 御风而归 2023-02-02
[LintCode] Longest Common Prefix 最长共同前缀
LeetCode上的原题,请参见我之前的博客Longest Common Prefix。解法一:解法二:...
- 御风而归 2023-02-01
[LeetCode] Convex Polygon 凸多边形
这道题让我们让我们判断一个多边形是否为凸多边形,我想关于凸多边形的性质,我大天朝的初中几何就应该有所涉猎啦吧,忘了的去面壁。就是所有的顶点角都不大于180度。那么我们该如何快速验证这一个特点呢,学过计算机图形学或者是图像处理...
- 御风而归 2023-02-01
[LintCode] Trapping Rain Water 收集雨水
LeetCode上的原题,请参见我之前的博客Trapping Rain Water。解法一:解法二:解法三:...
- 御风而归 2023-02-01
[LeetCode] Heaters 加热器
这道题是一道蛮有意思的题目,首先我们看题目中的例子,不管是houses还是heaters数组都是有序的,所以我们也需要给输入的这两个数组先排序,以免其为乱序。我们就拿第二个例子来分析,我们的目标是houses中的每一个数字都...
- 御风而归 2023-02-01
Solve VS2010 Error "Exceptions has been thrown by the target of an invocation"
...
- 御风而归 2023-02-01
[LintCode] Trailing Zeroes 末尾零的个数
LeetCode上的原题,请参见我之前的博客Factorial Trailing Zeroes。解法一:解法二:...
- 御风而归 2023-02-01
[LeetCode] Add Two Numbers II 两个数字相加之二
这道题是之前那道Add Two Numbers的拓展,我们可以看到这道题的最高位在链表首位置,如果我们给链表翻转一下的话就跟之前的题目一样了,这里我们来看一些不修改链表顺序的方法。由于加法需要从最低位开始运算,而最低位在链表...
- 御风而归 2023-02-01
[LeetCode] Find All Numbers Disappeared in an Array 找出数组中所有消失的数字
这道题让我们找出数组中所有消失的数,跟之前那道Find All Duplicates in an Array极其类似,那道题让找出所有重复的数字,这道题让找不存在的数,这类问题的一个重要条件就是1 ≤ a[i] ≤ n (n...
- 御风而归 2023-02-01
[LeetCode] Serialize and Deserialize BST 二叉搜索树的序列化和去序列化
这道题让我们对二叉搜索树序列化和去序列化,跟之前那道Serialize and Deserialize Binary Tree极其相似,虽然题目中说编码成的字符串要尽可能的紧凑,但是我们并没有发现跟之前那题有何不同,而且也没...
- 御风而归 2023-02-01
[LeetCode] 450. Delete Node in a BST 删除二叉搜索树中的节点
这道题让我们删除二叉搜索树中的一个节点,难点在于删除完结点并补上那个结点的位置后还应该是一棵二叉搜索树。被删除掉的结点位置,不一定是由其的左右子结点补上,比如下面这棵树:如果要删除结点4,那么应该将结点5补到4的位置,这样才...
- 御风而归 2023-02-01
[LeetCode] Sort Characters By Frequency 根据字符出现频率排序
这道题让我们给一个字符串按照字符出现的频率来排序,那么毫无疑问肯定要先统计出每个字符出现的个数,那么之后怎么做呢?我们可以利用优先队列的自动排序的特点,把个数和字符组成pair放到优先队列里排好序后,再取出来组成结果res即...
- 御风而归 2023-02-01
Convert PLY to VTK Using PCL 1.6.0 or PCL 1.8.0 使用PCL库将PLY格式转为VTK格式
PLY格式是比较流行的保存点云Point Cloud的格式,可以用MeshLab等软件打开,而VTK是医学图像处理中比较常用的格式,可以使用VTK库和ITK库进行更加复杂的运算处理。我们可以使用ParaView软件对VTK格...
- 御风而归 2023-02-01
[LintCode] Intersection of Two Linked Lists 求两个链表的交点
LeetCode上的原题,请参见我之前的博客Intersection of Two Linked Lists。解法一:解法二:...
- 御风而归 2023-02-01
OpenCV 3.1 Set Camera Resolution 设置相机的分辨率
在OpenCV中,有强大的处理相机事件的api,但是貌似没有直接获取相机的最大分辨率的函数,通过属性CV_CAP_PROP_FRAME_HEIGHT和CV_CAP_PROP_FRAME_WIDTH直接获取的貌似只是默认的分辨...
- 御风而归 2023-02-01
QInputDialog Multiple Inputs 输入多个变量的对话框
在之前的博客QInputDialog 使用方法中展示了利用QInputDialog可以快速通过一行代码来生成一个输入框,来获取用户的输入值,那么如果我们希望获取多个输入值,怎么办呢?那么此时用QInputDialog就没法实...
- 御风而归 2023-02-01
[LintCode] Max Points on a Line 共线点个数
LeetCode上的原题,请参见我之前的博客Max Points on a Line。解法一:解法二:解法三:...
- 御风而归 2023-02-01
[LeetCode] Number Complement 补数
这道题给了我们一个数,让我们求补数。通过分析题目汇总的例子,我们知道需要做的就是每个位翻转一下就行了,但是翻转的起始位置上从最高位的1开始的,前面的0是不能被翻转的,所以我们从高往低遍历,如果遇到第一个1了后,我们的flag...
- 御风而归 2023-02-01
MacTex TexStudio Configuration 配置
在Mac上使用Latex的话主流是安装MacTex,对于IDE的选择有很多,像什么自带的TexShop,或者是TexStudio,Latexian,Texpad,Texmaker等,甚至可以直接使用一些通用的编程IDE,比如...
- 御风而归 2023-02-01
Easy Way to Get All Dependent Library Names 快速获得所有依赖库名称
在编译一些大型SDK的时候,比如Qt,OpenCV, PCL, VTK, ITK等等,在VS中,我们需要将编译生成的.lib文件加入Linker-˃Input中,但是往往生成的.lib文件有很多很多个,一个一个的把名字加进来...
- 御风而归 2023-02-01
Qt 4.8.6 PCL 1.8.0 VS 2010 联合编译常见错误
在Qt和PCL联合编译的过程中,会出现各种各样的错误,解决这些错误的过程真是痛苦万分,所以总结一些常见错误方便自己也方便他人。比如我们要编译PCL1.8.0中的apps中的point_cloud_editor这个应用时,可能...
- 御风而归 2023-02-01
[LeetCode] Find Permutation 找全排列
这道题给了我们一个由D和I两个字符组成的字符串,分别表示对应位置的升序和降序,要我们根据这个字符串生成对应的数字字符串。由于受名字中的permutation的影响,感觉做法应该是找出所有的全排列然后逐个数字验证,这种方法十有...
- 御风而归 2023-02-01
[LeetCode] 486. Predict the Winner 预测赢家
这道题给了一个小游戏,有一个数组,两个玩家轮流取数,说明了只能从开头或结尾取,问我们第一个玩家能赢吗。这道题博主想到了应该是用 Minimax 来做,由于之前有过一道这样的题 Guess Number Higher or L...
- 御风而归 2023-02-01
Solve Error : Undefined function or variable ‘setInitialWorkingFolder’. Error in matlabrc (line 197)
...
- 御风而归 2023-02-01
[LeetCode] 487. Max Consecutive Ones II 最大连续1的个数之二
这道题在之前那道题 Max Consecutive Ones 的基础上加了一个条件,说有一次将0翻转成1的机会,问此时最大连续1的个数,再看看 follow up 中的说明,很明显只遍历一次数组,那我们想,肯定需要用一个变量...
- 御风而归 2023-02-01
[LeetCode] 490. The Maze 迷宫
这道题让我们遍历迷宫,但是与以往不同的是,这次迷宫是有一个滚动的小球,这样就不是每次只走一步了,而是朝某一个方向一直滚,直到遇到墙或者边缘才停下来,博主记得貌似之前在手机上玩过类似的游戏。那么其实还是要用 DFS 或者 BF...
- 御风而归 2023-02-01
[LeetCode] 494. Target Sum 目标和
这道题给了我们一个数组,和一个目标值,让给数组中每个数字加上正号或负号,然后求和要和目标值相等,求有多少中不同的情况。那么对于这种求多种情况的问题,博主最想到的方法使用递归来做。从第一个数字,调用递归函数,在递归函数中,分别...
- 御风而归 2023-02-01
[LeetCode] Find Bottom Left Tree Value 寻找最左下树结点的值
这道题让我们求二叉树的最左下树结点的值,也就是最后一行左数第一个值,那么我首先想的是用先序遍历来做,我们维护一个最大深度和该深度的结点值,由于先序遍历遍历的顺序是根-左-右,所以每一行最左边的结点肯定最先遍历到,那么由于是新...
- 御风而归 2023-02-01
[LeetCode] Diagonal Traverse 对角线遍历
这道题给了我们一个mxn大小的数组,让我们进行对角线遍历,先向右上,然后左下,再右上,以此类推直至遍历完整个数组,题目中的例子和图示也能很好的帮我们理解。由于移动的方向不再是水平或竖直方向,而是对角线方向,那么每移动一次,横...
- 御风而归 2023-02-01
[LeetCode] Find Largest Value in Each Tree Row 找树每行最大的结点值
这道题让我们找二叉树每行的最大的结点值,那么实际上最直接的方法就是用层序遍历,然后在每一层中找到最大值,加入结果res中即可,参见代码如下:解法一:如果我们想用迭代的方法来解,可以用先序遍历,这样的话就需要维护一个深度变量d...
- 御风而归 2023-02-01
[LeetCode] Keyboard Row 键盘行
这道题给了我们一些单词,问哪些单词可以由键盘上的一行中的键符打出来,难度其实并不大。首先我们把键盘的三行字符分别保存到三个set中,然后遍历每个单词中的每个字符,分别看当前字符是否在三个集合中,如果在,对应的标识变量变为1,...
- 御风而归 2023-02-01
[LeetCode] 508. Most Frequent Subtree Sum 出现频率最高的子树和
这道题给了我们一个二叉树,让我们求出现频率最高的子树之和,求树的结点和并不是很难,就是遍历所有结点累加起来即可。那么这道题的暴力解法就是遍历每个结点,对于每个结点都看作子树的根结点,然后再遍历子树所有结点求和,这样也许可以通...
- 御风而归 2023-02-01
[LeetCode] 523. Continuous Subarray Sum 连续的子数组之和
这道题给了我们一个数组和一个数字k,让求是否存在这样的一个连续的子数组,该子数组的数组之和可以整除k。遇到除法问题,肯定不能忘了除数为0的情况等处理。还有就是如何能快速的遍历所有的子数组,并且求和,这里肯定不能完全的暴力破解...
- 御风而归 2023-02-01
[LeetCode] Detect Capital 检测大写格式
这道题给了我们一个单词,让我们检测大写格式是否正确,规定了三种正确方式,要么都是大写或小写,要么首字母大写,其他情况都不正确。那么我们要做的就是统计出单词中所有大写字母的个数cnt,再来判断是否属于这三种情况,如果cnt为0...
- 御风而归 2023-02-01
[LeetCode] Longest Word in Dictionary through Deleting 删除后得到的字典中的最长单词
这道题给了我们一个字符串,和一个字典,让我们找到字典中最长的一个单词,这个单词可以通过给定单词通过删除某些字符得到。由于只能删除某些字符,并不能重新排序,所以我们不能通过统计字符出现个数的方法来判断是否能得到该单词,而是只能...
- 御风而归 2023-02-01
[LeetCode] 525. Contiguous Array 相连的数组
这道题给了我们一个二进制的数组,让找邻近的子数组使其0和1的个数相等。对于求子数组的问题,需要时刻记着求累积和是一种很犀利的工具,但是这里怎么将子数组的和跟0和1的个数之间产生联系呢?这里需要用到一个 trick,遇到1就加...
- 御风而归 2023-02-01
[LeetCode] Beautiful Arrangement 优美排列
这道题给了我们1到N,总共N个正数,然后定义了一种优美排列方式,对于该排列中的所有数,如果数字可以整除下标,或者下标可以整除数字,那么我们就是优美排列,让我们求出所有优美排列的个数。那么对于求种类个数,或者是求所有情况,这种...
- 御风而归 2023-02-01
[LeetCode] Minesweeper 扫雷游戏
这道题就是经典的扫雷游戏啦,经典到不能再经典,从Win98开始,附件中始终存在的游戏,和纸牌、红心大战、空当接龙一起称为四大天王,曾经消耗了博主太多的时间。小时侯一直不太会玩扫雷,就是瞎点,完全不根据数字分析,每次点几下就炸...
- 御风而归 2023-02-01
[LeetCode] Minimum Absolute Difference in BST 二叉搜索树的最小绝对差
这道题给了我们一棵二叉搜索树,让我们求任意个节点值之间的最小绝对差。由于BST的左解法一:其实我们也不必非要用中序遍历不可,用先序遍历同样可以利用到BST的性质,我们带两个变量low和high来分别表示上下界,初始化为int...
- 御风而归 2023-02-01
PCL Save VTK File With Texture Coordinates 使用PCL库来保存带纹理坐标的VTK文件
我之前有一篇博客Convert PLY to VTK Using PCL 1.6.0 or PCL 1.8.0 使用PCL库将PLY格式转为VTK格式展示了如何将PLY格式文件转化为VTK格式的文件,在文章的最后提到了VTK...
- 御风而归 2023-02-01
[LeetCode] Encode and Decode TinyURL 编码和解码精简URL地址
这道题让我们编码和解码精简URL地址,这其实很有用,因为有的链接地址特别的长,就很烦,如果能精简成固定的长度,就很清爽。最简单的一种编码就是用个计数器,当前是第几个存入的url就编码成几,然后解码的时候也能根据数字来找到原来...
- 御风而归 2023-02-01
[LeetCode] 542. 01 Matrix 零一矩阵
这道题给了一个只有0和1的矩阵,让求每一个1到离其最近的0的距离,其实也就是求一个距离场,而求距离场 BFS 将是不二之选。刚看到此题时,博主以为这跟之前那道 Shortest Distance from All Build...
- 御风而归 2023-02-01
[LeetCode] Diameter of Binary Tree 二叉树的直径
这道题让我们求二叉树的直径,并告诉了我们直径就是两点之间的最远距离,根据题目中的例子也不难理解题意。我们再来仔细观察例子中的那两个最长路径[4,2,1,3] 和 [5,2,1,3],我们转换一种角度来看,是不是其实就是根结点...
- 御风而归 2023-02-01
[LeetCode] 483. Smallest Good Base 最小的好基数
这道题让我们求最小的好基数,定义了一个大于等于2的基数k,如果可以把数字n转化为各位都是1的数,那么就称这个基数k是好基数。通过看题目中的三个例子,应该大致可以理解题意了吧。如果我们用k表示基数,m表示转为全1数字的位数,那...
- 御风而归 2023-01-16
[LeetCode] 493. Reverse Pairs 翻转对
这道题第一次做的时候就感觉和 Count of Smaller Numbers After Self 很像,开始也是用的二分查找法来建立有序数组,LintCode 上也有一道非常类似的题 Reverse Pairs 翻转对,...
- 御风而归 2023-01-16
[LeetCode] Complex Number Multiplication 复数相乘
这道题让我们求复数的乘法,有关复数的知识最早还是在本科的复变函数中接触到的,难起来还真是难。但是这里只是最简单的乘法,只要利用好定义i2=-1就可以解题,而且这道题的另一个考察点其实是对字符的处理,我们需要把字符串中的实部和...
- 御风而归 2023-01-16
[LeetCode] Longest Uncommon Subsequence I 最长非共同子序列之一
这道题是在4月1号出的,有人说这是愚人节最好的礼物,哈哈~这道题只是为了后面那道题做铺垫,不过这题确实简单啊,两个字符串的情况很少,如果两个字符串相等,那么一定没有非共同子序列,反之,如果两个字符串不等,那么较长的那个字符串...
- 御风而归 2023-01-16
[LeetCode] Freedom Trail 自由之路
这道题是关于辐射4这款游戏出的,博主虽然没有玩过这款游戏,但是知道确实有些游戏中需要破解一些谜题才能继续通关,像博主很早以前玩过的恐龙危机啊,生化危机啊啥的,都有一些机关需要破解,博主大部分都要靠看攻略来通关哈哈。这道题讲的...
- 御风而归 2023-01-16
[LeetCode] 547. Friend Circles 朋友圈
这道题让我们求朋友圈的个数,题目中对于朋友圈的定义是可以传递的,比如A和B是好友,B和C是好友,那么即使A和C不是好友,那么他们三人也属于一个朋友圈。那么比较直接的解法就是 DFS 搜索,对于某个人,遍历其好友,然后再遍历其...
- 御风而归 2023-01-16
[LeetCode] 554. Brick Wall 砖头墙壁
这道题给了我们一个砖头墙壁,上面由不同的长度的砖头组成,让选个地方从上往下把墙劈开,使得被劈开的砖头个数最少,前提是不能从墙壁的两边劈,这样没有什么意义。这里使用一个 HashMap 来建立每一个断点的长度和其出现频率之间的...
- 御风而归 2023-01-16
[LeetCode] Reverse Words in a String III 翻转字符串中的单词之三
这道题让我们翻转字符串中的每个单词,感觉整体难度要比之前两道Reverse Words in a String II和Reverse Words in a String要小一些,由于题目中说明了没有多余空格,使得难度进一步的...
- 御风而归 2023-01-16
[LeetCode] Next Greater Element III 下一个较大的元素之三
这道题给了我们一个数字,让我们对各个位数重新排序,求出刚好比给定数字大的一种排序,如果不存在就返回-1。这道题给的例子的数字都比较简单,我们来看一个复杂的,比如12443322,这个数字的重排序结果应该为13222344,如...
- 御风而归 2023-01-16
[LeetCode] 505. The Maze II 迷宫之二
这道题是之前那道 The Maze 的拓展,那道题只让我们判断能不能在终点位置停下,而这道题让求出到达终点的最少步数。其实本质都是一样的,难点还是在于对于一滚到底的实现方法,唯一不同的是,这里用一个二位数组 dists,其中...
- 御风而归 2023-01-16
[LeetCode] The Maze III 迷宫之三
这道题在之前的两道The Maze II和The Maze的基础上又做了些改变,在路径中间放了个陷阱,让球在最小步数内滚到陷阱之中,此时返回的并不是最小步数,而是滚动的方向,用u, r, d, l 这四个字母来分别表示上右下...
- 御风而归 2023-01-16
[LeetCode] Lonely Pixel I 孤独的像素之一
这道题定义了一种孤独的黑像素,就是该黑像素所在的行和列中没有其他的黑像素,让我们找出所有的这样的像素。那么既然对于每个黑像素都需要查找其所在的行和列,为了避免重复查找,我们可以统一的扫描一次,将各行各列的黑像素的个数都统计出...
- 御风而归 2023-01-16
[LeetCode] 488. Zuma Game 祖玛游戏
这道题说的就是著名的祖玛游戏了,让博主想起了以前玩过的泡泡龙,也是一种祖玛游戏,在QQ上也有泡泡龙的游戏,还可以使用各种道具害其他玩家,相当有趣。那么这道题是一种简化版的祖玛游戏,只是一个一维数组,而且通过限定桌面上的球不超...
- 御风而归 2023-01-16
[LeetCode] Array Partition I 数组分割之一
这道题让我们分割数组,两两一对,让每对中较小的数的和最大。这题难度不大,用贪婪算法就可以了。由于我们要最大化每对中的较小值之和,那么肯定是每对中两个数字大小越接近越好,因为如果差距过大,而我们只取较小的数字,那么大数字就浪费...
- 御风而归 2023-01-16
[LeetCode] Reshape the Matrix 重塑矩阵
这道题让我们实现矩阵大小的重塑,也就是实现 Matlab 中的 reshape 函数,博主也经常使用 matlab,对这个函数还是比较的熟悉的。对于这种二维数组大小重新非配的问题的关键就是对应位置的坐标转换,最直接的办法就是...
- 御风而归 2023-01-16
[LeetCode] 527. Word Abbreviation 单词缩写
这道题让我们求单词的缩写形式,就是首尾字母加上中间字符的个数组成的新字符串,但是要求是不能有重复的缩写字符串,而且说明如果缩写字符串的长度并没有减小的话就保留原来的字符串,比如 god,缩写成 g1d 也没啥用,所以仍是 g...
- 御风而归 2023-01-16
[LeetCode] Output Contest Matches 输出比赛匹配对
这道题讲的是NBA的季后赛对战顺序,对于一个看了十几年NBA的老粉来说,再熟悉不过了。这种对战顺序是为了避免强强之间过早对决,从而失去比赛的公平性,跟欧冠欧联那种八强就开始随机抽签匹配有本质上的区别。NBA的这种比赛机制基本...