leetcode
小狗过河
这个作者很懒,什么都没留下…
展开
-
极小化极大和动态规划之间的故事 3
极小化极大和动态规划之间的故事 3Leetcode 375:猜数字大小2 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字。 每次你猜错了,我都会告诉你,我选的数字比你的大了或者小了。 然而,当你猜了数字 x 并且猜错了的时候,你需要支付金额为 x 的现金。直到你猜到我选的数字,你才算赢得了这个游戏。示例:n...原创 2020-06-19 19:27:21 · 218 阅读 · 0 评论 -
并查集的妙用——Leetcode 1202
并查集的妙用——Leetcode 1202 给你一个字符串 s,以及该字符串中的一些「索引对」数组 pairs,其中 pairs[i] = [a, b] 表示字符串中的两个索引(编号从 0 开始)。 你可以 任意多次交换 在 pairs 中任意一对索引处的字符。 返回在经过若干次交换后,s 可以变成的按字典序最小的字符串。 示例 1:输入:s = "dcab",...原创 2020-03-02 20:52:02 · 454 阅读 · 0 评论 -
逆序对及其变种
1 逆序对首先看一下逆序对(Leetcode 剑指offer 51): 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5限制:0 <= 数组长度 <= 50000这也是一个经典问题,而且如果方向没对的话,是想破头也想不出来的。肯定不能暴...原创 2020-02-29 21:20:46 · 325 阅读 · 0 评论 -
打家劫舍——leetcode 198 & 213 & 337
打家劫舍——leetcode 198原创 2020-02-11 11:38:02 · 99 阅读 · 0 评论 -
极小化极大和动态规划之间的故事 2
极小化极大和动态规划之间的故事 2今天我们继续上次没有讲完的故事。1 我能赢吗Leetcode 464: 在 "100 game" 这个游戏中,两名玩家轮流选择从 1 到 10 的任意整数,累计整数和,先使得累计整数和达到 100 的玩家,即为胜者。 如果我们将游戏规则改为 “玩家不能重复使用整数” 呢? 例如,两个玩家可以轮流从公共整数池中抽取从 1 到 15 的...原创 2020-01-30 15:28:50 · 1526 阅读 · 0 评论 -
极小化极大和动态规划之间的故事 1
极小化极大和动态规划之间的故事今天探讨一下极小化极大和动态规划之间的联系。1 为什么这两者会有联系?动态规划问题的关键是,能把一个大问题拆分成若干个小问题,并且这些小问题被重复调用;而极小化极大很多时候被用来解决博弈问题,两个人博弈到最后,问题规模通常来说都会变得更小(比如说下棋下到最后双方剩下的子力都很少)。因此这两者之间有联系是合理的。具体这两件事之间到底有什么关系,通过一些难度不大的问...原创 2020-01-17 10:51:26 · 341 阅读 · 0 评论 -
Leetcode 231 & 326 & 342 2,3,4的幂
Leetcode 231 & 326 & 342 2,3,4的幂Leetcode 231 2的幂:给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例 1:输入: 1输出: true解释: 20 = 1示例 2:输入: 16输出: true解释: 24 = 16示例 3:输入: 218输出: falseLeetcode 326 3的幂:...原创 2020-01-16 14:59:28 · 160 阅读 · 0 评论 -
一次错误但是勇敢的尝试——Leetcode 89 格雷编码
一次错误但是勇敢的尝试——Leetcode 89 格雷编码 格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。 给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。格雷编码序列必须以 0 开头。示例 1:输入: 2输出: [0,1,3,2]解释:00 - 001 - 111 - 310 - 2对于给定的 n,其格雷编码序列并不唯...原创 2020-01-13 14:04:21 · 164 阅读 · 0 评论 -
Leetcode 169 & 229 求众数
Leetcode 169 & 229 求众数Leetcode 169: 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2Leetcode ...原创 2020-01-12 12:47:21 · 152 阅读 · 0 评论 -
这样的数组,也能二分查找吗——Leetcode 33 & 81 搜索旋转排序数组
这样的数组,也能二分查找吗——Leetcode 33 & 81 搜索旋转排序数组 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 (例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2])。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。 你可以假设数组中不存在重复的元素。 你的算...原创 2020-01-12 10:49:11 · 166 阅读 · 0 评论 -
能迭代就不要递归——Leetcode 230 二叉搜索树中第k小的元素
能迭代就不要递归——Leetcode 230 二叉搜索树中第k小的元素给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。示例 1:输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2输出: 1示例 2:...原创 2020-01-09 09:32:34 · 170 阅读 · 0 评论