【LeetCode】每日一题 2024_11_12 统计满足 K 约束的子字符串数量 I(滑动窗口)
前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动! 题目:统计满足 K 约束的子字符串数量 I 这道题给了很小的数据范围,能够直接用暴力通过(不过我对滑窗比较熟悉,所以也就直接用滑窗解答了~) 代码与解题思路 先读题: 题目要求找 0 不超过 k 个, 1 不超过 k 个的子数组(注意:只有 0 和 1 都超过 k 个才算违反的题目要求),直接通过滑动窗口来维护这个子数组,r 指针给子...
LeetCode //C - 457. Circular Array Loop
ample 2: Example 3: Constraints: 1 <= nums.length <= 5000-1000 <= nums[i] <= 1000nums[i] != 0 From: LeetCode Link: 457. Circular Array Loop Solution: Ideas: 1. Function next: Calculates the next index in the ...
LeetCode【0003】无重复字符的最长子串
本文目录 1 中文题目2 求解思路2.1 基础解法: 暴力解法2.2 优化解法: 动态规划解法2.3 最优解法:滑动窗口 3 题目总结 1 中文题目 给定一个字符串 s s s,请找出其中不含有重复字符的 的长度。 示例 1: 输入: s = " a b c a b c b b " s = "abcabcbb" s="abcabcbb"输出: 3 3 3解释: 因为无重复字符的最长子串是 " a b c " "...
【LeetCode】每日一题 2024_11_10 有序数组中的单一元素(二分)
前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动! 题目:有序数组中的单一元素 代码与解题思路 先读题: “一个仅由整数组成的有序数组” “你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复杂度。” 看到这里基本上就能看出来题目要求我们用二分来做这道题目了,这题也是一道经典题目,在题目没给有序以及复杂度要求的时候,直接模拟,用哈希,或者用异或都可以很轻松的解答 ...
LeetCode【0004】寻找两个正序数组的中位数
本文目录 1 中文题目2 求解思路2.1 基础解法:合并排序法2.2 优化解法:双指针2.3 最优解法:二分查找 3 题目总结 1 中文题目 给定两个大小分别为 m m m 和 n n n 的正序(从小到大)数组 n u m s 1 nums1 nums1 和 n u m s 2 nums2 nums2。请你找出并返回这两个正序数组的 。并且算法的时间复杂度应该为 O ( l o g ( m + n ) ) O...
LeetCode算法(二叉树)
今天的练习的是一个新的数据结构:二叉树 这里我不太想去说一些比较规则正式的介绍了,简单说一下我觉得比较有用和算法题目相关的,因为东西挺多的,大家如果想更详细的了解二叉树,搜索一下其他大佬们的介绍! 二叉树的分类: 主要说一下我对满二叉树和完全二叉树的区别理解: 满二叉树是指所有的叶子节点位置都有数据 完全二叉树是指,在满二叉树的基础上,允许右分支为空,只需要满足左分支有节点即可 二叉树节点: 在开始二叉树算法之前...
LeetCode //C - 449. Serialize and Deserialize BST
<= Node.val <= 10^4 0<=Node.val<=104The input tree is guaranteed to be a binary search tree. From: LeetCode Link: 449. Serialize and Deserialize BST Solution: Ideas: 1. Serialization: We use preorder travers...
【LeetCode】每日一题 2024_11_2 使两个整数相等的位更改次数(位运算/模拟)
前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动! 题目:使两个整数相等的位更改次数 代码与解题思路 先读题: 题目要我们把 n 这个数字转换成 k 这个数字,但是只能是二进制位 1 转换成 0 纯模拟的解法: func minChanges(n int, k int) (ans int) { for n > 0 { // 选择 n 的 二进制表示 中任意一个值为 1 的位,并将其改为...
【LeetCode】每日一题 2024_11_1 超级饮料的最大强化能量(DP)
前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动! 题目:超级饮料的最大强化能量 代码与解题思路 先读题: 题目给了两个数组,长度为 n,题目要求在 n 个小时内选择饮料,一个小时可以选一瓶,如果要切换饮料类型需要花费一个小时,这样就会少选一个饮料 有两个需要分类讨论的地方: 第一个饮料可以从 A 开始,也可以从 B 开始 后续的饮料有两种情况,1、选择喝下一瓶饮料,2、选择不喝,进行...
【LeetCode】动态规划—1312. 让字符串成为回文串的最少插入次数(附完整Python/C++代码)
动态规划—1312. 让字符串成为回文串的最少插入次数 题目描述前言基本思路1. 问题定义目标:举例: 2. 理解问题和递推关系动态规划思路: 3. 解决方法动态规划方法伪代码: 4. 进一步优化5. 小总结 Python代码Python代码解释: C++代码C++代码解释: 总结 题目描述 前言 最少插入次数使字符串变为回文 是一个经典的动态规划问题。我们需要计算出通过最少的插入次数将给定的字符串转换为回文字...