LeetCode题解
文章平均质量分 73
曙光磁铁
这个作者很懒,什么都没留下…
展开
-
[C++&Rust]LeetCode No.877 石子游戏(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/lc877题目亚历克斯和李用几堆石子在做游戏。偶数堆石子排成一行,每堆都有正整数颗石子 piles[i] 。游戏以谁手中的石子最多来决出胜负。石子的总数是奇数,所以没有平局。亚历克斯和李轮流进行,亚历克斯先开始。 每回合,玩家从行的开始或结束处取走整堆石头。 这种情况一直持续到没有更多的石子堆为止,此时手中石子最多的玩家获胜。假设亚历克斯和李都发挥出最佳水平,当亚历克斯赢得比赛时返回&nb原创 2021-06-16 20:11:19 · 347 阅读 · 0 评论 -
LeetCode No.278 & 374 & 852 二分查找专题
原贴地址:http://blog.leanote.com/post/dawnmagnet/lc278-374-852写在前面二分查找是一个非常基础的算法。但是完全掌握却并不容易。首先再次介绍一下二分查找。大家开始学习二分的时候,总是伴随着一个万年不变的场景:有序数组(假设是升序)。核心思路就是判断num[mid]。但是大家一开始学的都会有三种情况。num[mid] > target,就表示要找的数字一定位于mid左边,所以我们将右边界限制到mid-1,也就是right = mid -原创 2021-06-15 15:10:48 · 297 阅读 · 0 评论 -
[C++&Rust]LeetCode No.518 零钱兑换 II(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/lc518题目给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。 示例 1:输入: amount = 5, coins = [1, 2, 5]输出: 4解释: 有四种方式可以凑成总金额:5=55=2+2+15=2+1+1+15=1+1+1+1+1示例 2:输入: amount = 3, coins = [2]输原创 2021-06-10 20:24:44 · 284 阅读 · 0 评论 -
[C++&Rust]LeetCode No.1049 最后一块石头的重量 II(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/lc1049题目有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下: 如果 x == y,那么两块石头都会被完全粉碎; 如果 x != y,那么重量为原创 2021-06-08 11:44:47 · 750 阅读 · 0 评论 -
[C++]LeetCode No.160 相交链表(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/lc160题目给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。 示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB原创 2021-06-04 11:31:57 · 177 阅读 · 0 评论 -
[C++&Rust]LeetCode No.525 连续数组(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/lc525题目给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。 示例 1:输入: nums = [0,1]输出: 2说明: [0, 1] 是具有相同数量0和1的最长连续子数组。示例 2:输入: nums = [0,1,0]输出: 2说明: [0, 1] (或 [1, 0]) 是具有相同数量0和1的最长连续子数组。 提原创 2021-06-03 10:53:47 · 169 阅读 · 0 评论 -
[C++&Rust]LeetCode No.523 连续的子数组和(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/lc523题目给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组: 子数组大小 至少为 2 ,且 子数组元素总和为 k 的倍数。如果存在,返回 true ;否则返回 false 。如果存在一个整数 n ,令整数 x 符合 x = n * k ,则称 x 是 k 的一个倍数。 示例 1:输入:nums = [23,2,4,6原创 2021-06-02 21:26:29 · 413 阅读 · 0 评论 -
[C++&Rust]LeetCode No.342 4的幂(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/lc342题目给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4x 示例 1:输入:n = 16输出:true示例 2:输入:n = 5输出:false示例 3:输入:n = 1输出:true 提示: -231 <= n <=原创 2021-05-31 10:57:59 · 200 阅读 · 0 评论 -
[C++&Rust]LeetCode No.477 汉明距离总和(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/lc477题目两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。给你一个整数数组 nums,请你计算并返回 nums 中任意两个数之间汉明距离的总和。 示例 1:输入:nums = [4,14,2]输出:6解释:在二进制表示中,4 表示为 0100 ,14 表示为 1110 ,2表示为 0010 。(这样表示是为了体现后四位之间关系)所以答案为:HammingDi原创 2021-05-29 21:08:30 · 170 阅读 · 0 评论 -
LeetCode No.461 汉明距离(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/lc461题目两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。思路分析通过观察可以得出,给入两个数字原创 2021-05-27 08:50:07 · 163 阅读 · 0 评论 -
[C++&Rust]No.1190 反转每对括号间的子串
原帖地址:http://blog.leanote.com/post/dawnmagnet/lc1190题目给出一个字符串 s(仅含有小写英文字母和括号)。请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。注意,您的结果中 不应 包含任何括号。 示例 1:输入:s = "(abcd)"输出:"dcba"示例 2:输入:s = "(u(love)i)"输出:"iloveu"示例 3:输入:s = "(ed(et(oc))el)"输出原创 2021-05-26 11:21:01 · 186 阅读 · 0 评论 -
[C++&Rust]LeetCode No.664 奇怪的打印机(每日一题)
原帖地址:http://blog.leanote.com/post/dawnmagnet/CCF题目有台奇怪的打印机有以下两个特殊要求:打印机每次只能打印由 同一个字符 组成的序列。每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符。给你一个字符串 s ,你的任务是计算这个打印机打印它需要的最少打印次数。示例 1:输入:s = "aaabbb"输出:2解释:首先打印 "aaa" 然后打印 "bbb"。示例 2:输入:s = "aba"输出:2解释:首先打印 "aa原创 2021-05-24 15:01:43 · 247 阅读 · 0 评论 -
[C++&Rust]LeetCode No.1035 不相交的线(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/lc1035题目在两条独立的水平线上按给定的顺序写下 nums1 和 nums2 中的整数。现在,可以绘制一些连接两个数字 nums1[i] 和 nums2[j] 的直线,这些直线需要同时满足满足: nums1[i] == nums2[j]且绘制的直线不与任何其他连线(非水平线)相交。请注意,连线即使在端点也不能相交:每个数字只能属于一条连线。以这种方法绘制线条,并返回可以绘制的最大连线数。示例 1:原创 2021-05-21 10:11:35 · 233 阅读 · 0 评论 -
[C++&Rust]LeetCode No.692 前K个高频单词(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/lc692题目给一非空的单词列表,返回前 k 个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。示例 1:输入: ["i", "love", "leetcode", "i", "love", "coding"], k = 2输出: ["i", "love"]解析: "i" 和 "love" 为出现次数最多的两个单词,均为2次。 注意,按字原创 2021-05-20 09:00:58 · 243 阅读 · 0 评论 -
[C++&Rust]LeetCode No.1738 找出第K大的异或坐标值(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/lc1738题目给你一个二维矩阵 matrix 和一个整数 k ,矩阵大小为 m x n 由非负整数组成。矩阵中坐标 (a, b) 的 值 可由对所有满足 0 <= i <= a < m 且 0 <= j <= b < n 的元素 matrix[i][j](下标从 0 开始计数)执行异或运算得到。请你找出 matrix 的所有坐标中第 k 大的值(k 的值从 1 开始计数)。原创 2021-05-19 17:30:20 · 170 阅读 · 0 评论 -
[C++&Rust]LeetCode No.1442 形成两个异或相等数组的三元组数目
原贴地址:http://blog.leanote.com/post/dawnmagnet/74b9cba6cc8a题目思路分析又是一道异或的题目。我们再强调一下,异或的最重要的性质就是两个相同的数字异或是0接下来看一下我们的这个数据量,不太适合暴力,如果按照题目的说法对(i, j, k)三元组进行遍历,复杂度就是O(n3)O(n^3)O(n3),达到了3003=27000000300^3=270000003003=27000000复杂度,这种已经很大了,很危险,很有可能过不了。这也是对于所有题目原创 2021-05-18 11:19:10 · 150 阅读 · 0 评论 -
[C++&Rust]LeetCode No.993 二叉树的堂兄弟节点
题目思路分析堂兄节点存在一些基本的条件深度相同父节点不同我们只需要获得了题目中给入的两个节点的深度信息和父亲信息,我们就可以判断它是不是堂兄节点。获得深度信息,我们得遍历一整遍二叉树,获取两个节点的该信息就得获取两遍整棵二叉树。那么有一种办法只需要遍历一遍即可,就是BFS,广度优先搜索。为什么说遍历一次即可获得答案呢,因为题目中给入的两个节点有可能有两种情况,即是否在同一个深度,如果在同一个深度,就有可能是堂兄节点,如果不在同一个深度,一定不可能是堂兄节点。而我们知道,BFS对于树的遍原创 2021-05-17 23:21:18 · 170 阅读 · 0 评论 -
[C++&Rust]LeetCode No.12 整数转罗马数字(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/d23f1485c8a4题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列原创 2021-05-14 19:42:50 · 183 阅读 · 0 评论 -
[C++&Rust]LeetCode No.1269 停在原地的方案数(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/No.1269-停在原地的方案数题目有一个长度为 arrLen 的数组,开始有一个指针在索引 0 处。每一步操作中,你可以将指针向左或向右移动 1 步,或者停在原地(指针不能被移动到数组范围外)。给你两个整数 steps 和 arrLen ,请你计算并返回:在恰好执行 steps 次操作以后,指针仍然指向索引 0 处的方案数。由于答案可能会很大,请返回方案数 模 10^9 + 7 后的结果。示例 1:输入原创 2021-05-13 09:37:52 · 200 阅读 · 0 评论 -
[C++&Rust]LeetCode No.1310 子数组异或查询(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/0bb52ca14c01题目有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor … xor arr[Ri])作为本次查询的结果。并返回一个包含给定查询 queries 所有结果的数组。示例 1:输入:arr = [1,3,4,原创 2021-05-12 01:00:56 · 244 阅读 · 0 评论 -
[C++&Rust]LeetCode No.1734 解码异或后的排列(每日一题)
原帖地址:http://blog.leanote.com/post/dawnmagnet/fda5818930ff题目给你一个整数数组 perm ,它是前 n 个正整数的排列,且 n 是个 奇数 。它被加密成另一个长度为 n - 1 的整数数组 encoded ,满足 encoded[i] = perm[i] XOR perm[i + 1] 。比方说,如果 perm = [1,3,2] ,那么 encoded = [2,1] 。给你 encoded 数组,请你返回原始数组 perm 。题目保证答案存原创 2021-05-11 11:01:01 · 167 阅读 · 0 评论 -
[C++&Rust]LeetCode No.872 叶子相似的树(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/e25aa1655474题目思路分析这个都没什么思路可以分析的,怎么获取从左到右的叶子节点,只有一种办法,就是中序遍历,在遍历的过程中判断节点是否叶子节点,存进一个数组即可。对于两棵树,分别进行上述操作,获得两个叶子节点的数组,对比即可获得答案。时间已经是最优的了,因为每个节点至少得访问一遍。也无需考虑空间占用率过大的问题,因为原本的遍历节点也是O(节点数目)复杂度的,所以我们这样操作不会使用很多的空间。原创 2021-05-10 14:33:01 · 140 阅读 · 0 评论 -
[C++&Rust]LeetCode No.1486 数组异或操作(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/c8deab0f58d7题目思路分析这个题目就算我们暴力做,也只是O(n)的复杂度,而且题目的数据给的也不是很大,暴力一定非常快。(窃喜于是我们暴力做了一下,很快啊,就出来了,直接就AC了,还只用了0ms。impl Solution { pub fn xor_operation(n: i32, mut start: i32) -> i32 { let mut res = 0;原创 2021-05-07 19:29:34 · 243 阅读 · 0 评论 -
[C++&Rust]LeetCode No.1720 解码异或后的数组(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/e62245065eaa题目思路分析这个题目要求我们对二进制的基本操作有一些理解和概念。二进制中非常重要的一个概念就是异或。异或是一个二进制操作,原理也非常简单,是一个两输入一输出的门电路,00出0,11出0,其他都出1,所以说,加入我们有一个数字target,让它两次异或同一个数字,结果还是target,因为11出0,就抵消了这个数字对每一位造成的影响。在获得了这个背景小知识后,我们就非常简单了。解码无原创 2021-05-06 08:39:02 · 151 阅读 · 0 评论 -
[C++&Rust]LeetCode No.740 删除并获得点数(每日一题)
原帖地址:http://blog.leanote.com/post/dawnmagnet/b50143d626a8题目思路分析这个题一看还是一个dp,本月是dp月实锤了???还是那句老话,但凡是看起来模拟能做的都往dp的方向考虑考虑。在本题中,可以看出,选了nums[i]就不能选加一和减一了,这是最关键的约束条件,我们的dp也应该由此展开。所以我们统计一下每个数字出现的次数(存放在cal中)。dp的时候自然就是对nums[i]从前向后dp。一共取值范围是10000,也不大。dp的时候我们有个原创 2021-05-05 12:35:00 · 138 阅读 · 0 评论 -
[C++&&Rust]LeetCode No.1473 粉刷房子 III(每日一题)
原帖地址:http://blog.leanote.com/post/dawnmagnet/61cf7456274e题目思路分析这道题总的来说值得上困难题。一开始看,一眼就看出是个dp,因为首先房子的数量太多,如果使用模拟(dfs)必定超时,而我之前说过,但凡是可以用dfs的地方就可以试试dp。在这个问题中,给入了三个关键变量,m,n,target,这三个一看就是有大用处的(此处暗示三维dp),那么为什么使用三维dp而不是大家很好想到的二维dp呢,原因很简单,我们得在dp的系数上表示出遍历到了哪一个原创 2021-05-04 23:22:27 · 158 阅读 · 0 评论 -
[C++&Rust] No.7 整数反转(每日一题)
原帖地址:http://blog.leanote.com/post/dawnmagnet/7思路分析五一也要继续营业呀!整数反转,就是取出来一位再乘上一位呀!我们把两个整数(输入整数和答案)想象成两个栈,从输入出栈,向答案入栈,就能得到最终的答案了。出栈的方法就是先对10 mod获得出栈元素,再除10出栈。假设输入是123456712345 -> %10 = 5 -> /10 = 1234(出栈成功)76 -> *10 = 760 -> +5 = 765(入栈成功)原创 2021-05-03 09:56:38 · 166 阅读 · 0 评论 -
[C++&Rust]LeetCode No.137 只出现一次的数字 II(每日一题)
原帖地址:http://blog.leanote.com/post/dawnmagnet/bb6f3d567c46题目思路分析对于这种可以简单操作的题目,我的建议是在学习的时候一定要参透最难的做法,在真正发挥的时候就怎么熟练怎么来。因为最难的做法是很难想到的,而我们要训练的就是解决问题的能力。如果我们止步于简单的做法,我们的进步就非常缓慢了。简单的做法非常简单,统计即可,时间和空间都是O(n),就相当于拿一个哈希表遍历统计一下即可。那么这种写法实在是太简单了,我们就来参透一下困难的做法。也就是满原创 2021-04-30 11:03:30 · 159 阅读 · 0 评论 -
[Rust&C++]No.403 青蛙过河(每日一题)
原帖地址:http://blog.leanote.com/post/dawnmagnet/403题目思路分析这道题目是一个典型的游戏题,游戏一般来说做法就是(大家比较容易想到的)就是模拟,而我们来看一下这个题目,是模拟青蛙跳。主要的约束条件就是上一步和下一步的步长绝对值之间只能差1。很容易想到可以使用dfs做,那么我们来分析一下这个dfs需要使用几个参数。比较容易想到的是两个参数:一个是上一步跳了k的长度,一个是上一步跳到的位置。这个是比较好想的。但是对于这个题目,我们如果单纯的使用dfs一定会原创 2021-04-29 23:59:56 · 320 阅读 · 0 评论 -
[C++&Rust]LeetCode No.633 平方数之和(每日一题)
原帖地址:http://blog.leanote.com/post/dawnmagnet/633题目思路分析这个就是一个非常简单的枚举。。。。其实也不需要什么思路的,大家会问,可能会有更简单的办法吗?我觉得很难,毕竟这道题究其核心是一个质因数分解的题目,而质因数分解目前都是数学上的一座坚不可摧的大坝,只要有人推翻了(还是别有的好),那么整个互联网体系的密码学都是建立在以之为基础的加密算法上的,那么整个互联网也将崩塌。。。。。。。。所以我们回到这个题目,就模拟呗。注意一下模拟的上限就到c\sqrt{c原创 2021-04-28 09:29:26 · 177 阅读 · 0 评论 -
[C++&Rust]LeetCode No.938 二叉搜索树的范围和(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/938题目给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。示例 1:输入:root = [10,5,15,3,7,null,18], low = 7, high = 15输出:32示例 2:输入:root = [10,5,15,3,7,13,18,1,null,6], low = 6, high = 10输出:23来源:力扣(LeetCode)原创 2021-04-27 15:16:08 · 108 阅读 · 0 评论 -
[C++&Rust]LeetCode No.1011 在 D 天内送达包裹的能力(每日一题)
原贴地址:http://blog.leanote.com/post/dawnmagnet/1011题目传送带上的包裹必须在 D 天内从一个港口运送到另一个港口。传送带上的第 i 个包裹的重量为 weights[i]。每一天,我们都会按给出重量的顺序往传送带上装载包裹。我们装载的重量不会超过船的最大运载重量。返回能在 D 天内将传送带上的所有包裹送达的船的最低运载能力。提示:1 <= D <= weights.length <= 500001 <= weights[i]原创 2021-04-26 23:02:17 · 162 阅读 · 0 评论 -
[C++&Rust]LeetCode No.368 最大整除子集
原贴地址:http://leanote.com/blog/post/6082bc6fab64410dd50008ec题目给你一个由 无重复 正整数组成的集合 nums,请你找出并返回其中最大的整除子集 answer ,子集中每一元素对 (answer[i], answer[j]) 都应当满足:answer[i] % answer[j] == 0 ,或answer[j] % answer[i] == 0如果存在多个有效解子集,返回其中任何一个均可。来源:力扣(LeetCode)链接:https原创 2021-04-23 21:09:15 · 166 阅读 · 0 评论 -
[C++&Rust]LeetCode No.363 矩形区域不超过 K 的最大数值和
原贴地址:http://blog.leanote.com/post/dawnmagnet/363题目给你一个 m x n 的矩阵 matrix 和一个整数 k ,找出并返回矩阵内部矩形区域的不超过 k 的最大数值和。题目数据保证总会存在一个数值和不超过 k 的矩形区域。示例 1:输入:matrix = [[1,0,1],[0,-2,3]], k = 2输出:2解释:蓝色边框圈出来的矩形区域 [[0, 1], [-2, 3]] 的数值和是 2,且 2 是不超过 k 的最大数字(k = 2)。原创 2021-04-22 10:46:48 · 242 阅读 · 0 评论 -
[C++&Rust]LeetCode No.91 解码方法
原贴地址:http://blog.leanote.com/post/dawnmagnet/No.91-解码方法题目一条包含字母 A-Z 的消息通过以下映射进行了 编码 :'A' -> 1'B' -> 2...'Z' -> 26要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,“11106” 可以映射为:“AAJF” ,将消息分组为 (1-1-10-6)“KJF” ,将消息分组为 (11-10-6)注意,消息不能分组为 (原创 2021-04-21 09:35:13 · 221 阅读 · 0 评论 -
题目
大家好!今天给大家带来的是第87题扰乱字符串,做了这么久题解了,终于遇到了一道困难题,还是挺有难度的。原贴地址:http://leanote.com/blog/post/60790900ab644104e700636b题目使用下面描述的算法可以扰乱字符串 s 得到字符串 t :如果字符串的长度为 1 ,算法停止如果字符串的长度 > 1 ,执行下述步骤:在一个随机下标处将字符串分割成两个非空的子字符串。即,如果已知字符串 s ,则可以将其分成两个子字符串 x 和 y ,且满足 s = x +原创 2021-04-16 11:50:48 · 138 阅读 · 0 评论 -
题目
大家好!今天给大家带来的是一道很有意思的题目:打家劫舍。原贴地址:http://leanote.com/blog/post/6077ab41ab644104e70017ff题目你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报装置的情况下 ,能够偷原创 2021-04-15 11:19:29 · 120 阅读 · 0 评论 -
题目
大家好!今天给大家带来的是一道前缀树的题目。原帖地址:http://leanote.com/blog/post/60768fe7ab64414216007075题目Trie(发音类似 “try”)或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。请你实现 Trie 类:Trie() 初始化前缀树对象。void insert(String word) 向前缀树中插入字符串 word 。boolean search(原创 2021-04-14 15:17:21 · 116 阅读 · 0 评论 -
[C++&Rust]LeetCode No.783 二叉搜索树节点最小距离(每日一题)
大家好!今天给大家带来的是每日一题,是一道关于树的题目呢!原帖地址:http://leanote.com/blog/post/6075795bab644142160032fa题目给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。思路分析说到二叉树,特别是二叉搜索树,大家第一个想到的是什么呢?当然是二分查找啦!二叉搜索数和二分查找,简直是天造地设的一对.因为他们是几乎一模一样的操作.大家想想二分查找的操作,如果target < [mid],我们就去左边找,因原创 2021-04-13 23:07:08 · 140 阅读 · 0 评论 -
题目
大家好!今天是周一,给大家带来的是每日一题-最大数原贴地址:http://leanote.com/blog/post/60746b4cab64417b49003062题目给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。思路分析题目描述非常简单,但是思路却不好想.可以对这些数进行一个简单的排序吗?显而易见的是不行的.我们假设两个数,9和30,930明显大于309吧,从这里我们分析得出一个重要结论:就是每个数的位置似乎跟他们的位数有关系.比如9占一位数,30占原创 2021-04-12 23:55:13 · 148 阅读 · 0 评论