随笔分类 -  课程 /

摘要:一、题目 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 二、思路 二叉树的中序遍历有多种方式,包括递归、栈、Morris 遍历等,读者可选择自己最擅长的来实现。 三、代码 class Solution { publ 阅读全文
posted @ 2023-10-18 21:53 ImreW 阅读(12) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长连续子字符串 的长度。 二、思路 这样一来,我们就可以使用「滑动窗口」来解决这个问题了: 三、代码 class Solution { public: int lengthOfLongestSubstring(string s) { / 阅读全文
posted @ 2023-10-18 10:28 ImreW 阅读(11) 评论(0) 推荐(0) 编辑
摘要:一、题目 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 网格中的障碍物和空位置分别 阅读全文
posted @ 2023-10-17 20:17 ImreW 阅读(4) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 二、思路 定义两个指针 fast 和 slow 分别为快指针和慢指针,快指针表示遍历数 阅读全文
posted @ 2023-10-16 20:25 ImreW 阅读(20) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定单链表的头节点 head ,请反转链表,并返回反转后的链表的头节点。 二、思路 递归版本稍微复杂一些,其关键在于反向工作。假设链表的其余部分已经被反转,现在应该如何反转它前面的部分? 三、代码 class Solution { public: ListNode* reverseList 阅读全文
posted @ 2023-10-16 20:19 ImreW 阅读(6) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。 阅读全文
posted @ 2023-10-15 17:09 ImreW 阅读(9) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 二、思路 当滑动窗口向右移动时,只要 i 还在窗口中,那么 j 一定也还在窗口中,这是 i 在 j 阅读全文
posted @ 2023-10-15 15:52 ImreW 阅读(6) 评论(0) 推荐(0) 编辑
摘要:一、题目 有 n 个房间,房间按从 0 到 n - 1 编号。最初,除 0 号房间外的其余所有房间都被锁住。你的目标是进入所有的房间。然而,你不能在没有获得钥匙的时候进入锁住的房间。 当你进入一个房间,你可能会在里面找到一套不同的钥匙,每把钥匙上都有对应的房间号,即表示钥匙可以打开的房间。你可以拿上 阅读全文
posted @ 2023-10-14 16:19 ImreW 阅读(5) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 二、思路 自底向上递归的做法类似于后序遍历,对于当前遍历到的节点,先递归地判断其左右子树是否平衡,再判断以当前节点为根的子树是否平衡。如果一棵子树是平衡的,则返 阅读全文
posted @ 2023-10-13 20:33 ImreW 阅读(23) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。 二、思路 三、代码 class Solution { public: int longestPalindromeSubseq(st 阅读全文
posted @ 2023-10-12 20:48 ImreW 阅读(6) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 二、思路 我们使用哈希映射(HashMap)来存储每个元素以及出现的次数。对于哈希映射中的每个键值对,键表示一 阅读全文
posted @ 2023-10-11 13:04 ImreW 阅读(6) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处: 0 <= j <= nums[i] i + j < n 返 阅读全文
posted @ 2023-10-10 21:31 ImreW 阅读(18) 评论(0) 推荐(0) 编辑
摘要:一、题目 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金 阅读全文
posted @ 2023-09-20 10:08 ImreW 阅读(5) 评论(0) 推荐(0) 编辑
摘要:一、题目 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数。 二、思路 观察这个运算:n & (n−1),其运算结果恰为把 n 的二进制位中的最低位的 1 变为 0 之后的结果。 三、代码 class Solution { public: int 阅读全文
posted @ 2023-09-17 15:39 ImreW 阅读(8) 评论(0) 推荐(0) 编辑
摘要:一、题目 每位勇者初始都拥有一些能量宝石, gem[i] 表示第 i 位勇者的宝石数量。现在这些勇者们进行了一系列的赠送,operations[j] = [x, y] 表示在第 j 次的赠送中 第 x 位勇者将自己一半的宝石(需向下取整)赠送给第 y 位勇者。 在完成所有的赠送后,请找到拥有最多宝石 阅读全文
posted @ 2023-09-15 22:07 ImreW 阅读(4) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 二、思路 为了求出岛屿的数量,我们可以扫描整个二维网格。如果一个位置为 11 阅读全文
posted @ 2023-04-30 19:54 ImreW 阅读(11) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 二、思路 因为超过n/2的数组下标被众数占据了,这样我们随机挑选一个下标对应的元素并验证,有很大的概率能找到众 阅读全文
posted @ 2023-02-27 21:34 ImreW 阅读(17) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。 返回该 最大总和 。 二、代码 class Solution { public 阅读全文
posted @ 2023-01-02 19:21 ImreW 阅读(14) 评论(0) 推荐(0) 编辑
摘要:一、题目 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这 阅读全文
posted @ 2023-01-01 18:51 ImreW 阅读(23) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的回文串 。 在构造过程中,请注意 区分大小写 。比如 "Aa" 不能当做一个回文字符串。 二、思路 遍历一次 hash 数组,统计奇数的个数,然后做一次减法即可。 三、代码 class Solution { p 阅读全文
posted @ 2022-12-31 19:02 ImreW 阅读(13) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示