122. 买卖股票的最佳时机 II 2022-09-18 2023-04-02 数据结构与算法 / 实战训练 3 分钟读完 (大约447个字)122. 买卖股票的最佳时机 II一、题目描述给定一个数组 prices ,其中prices[i] 是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 算法, 实战, LeetCode 阅读更多
121. 买卖股票的最佳时机 2022-09-18 2023-04-02 数据结构与算法 / 实战训练 3 分钟读完 (大约449个字)121. 买卖股票的最佳时机一、题目描述给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。 设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。 算法, 实战, LeetCode 阅读更多
18. 四数之和 2022-09-18 2023-04-02 数据结构与算法 / 实战训练 3 分钟读完 (大约453个字)18. 四数之和一、题目描述给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。 注意:答案中不可以包含重复的四元组。 0 <= nums.length <= 200 -109 <= nums[i] <= 109 -109 <= target <= 109 算法, 实战, LeetCode 阅读更多
15. 三数之和 2022-09-18 2023-04-02 数据结构与算法 / 实战训练 3 分钟读完 (大约457个字)15. 三数之和一、题目描述给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 0 <= nums.length <= 3000 -105 <= nums[i] <= 105 算法, 实战, LeetCode 阅读更多
16. 最接近的三数之和 2022-09-18 2023-04-02 数据结构与算法 / 实战训练 2 分钟读完 (大约342个字)16. 最接近的三数之和一、题目描述给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和 假定每组输入只存在唯一答案。 3 <= nums.length <= 10^3 -10^3 <= nums[i] <= 10^3 -10^4 <= target <= 10^4 算法, 实战, LeetCode 阅读更多
6186. 按位或最大的最小子数组长度 2022-09-18 2023-04-02 数据结构与算法 / 实战训练 5 分钟读完 (大约698个字)6186. 按位或最大的最小子数组长度一、题目描述给你一个长度为 n 下标从 0 开始的数组 nums ,数组中所有数字均为非负整数。 对于 0 到 n - 1 之间的每一个下标 i ,你需要找出 nums 中一个 最小 非空子数组,它的起始位置为 i (包含这个位置),同时有 最大 的 按位或运算值 。 换言之,令 Bij 表示子数组 nums[i…j] 的按位或运算的结果,你需要找到一个起始位置为 i 的最小子数组,这个子数组的按位或运算的结果等于 max(Bik) ,其中 i <= k <= n - 1 。 算法, 实战, LeetCode 阅读更多
线段树 2022-09-13 2023-04-03 数据结构与算法 / 数据结构 1 小时读完 (大约8137个字)线段树一、线段树是什么? 线段树本质上是一种缓存,它缓存的是区间值 线段树一棵平衡二叉树 线段树的节点表示的是一个区间,节点值表示区间值 算法, 数据结构, 线段树 阅读更多
二分查找 2022-09-08 2023-10-07 数据结构与算法 / 查找算法 14 分钟读完 (大约2042个字)二分查找一、代码模板常见的二分查找模板代码如下: 12345678910left = low, right = high;while (left <= right) { int mid = left + (right - left) / 2; if (满足条件) { right = mid - 1; } else { left = mid + 1; }}return left; // 或 right 在二分查找中,有几个需要注意的地方: 算法, 二分法 阅读更多
基数排序 2022-09-06 2023-10-06 数据结构与算法 / 排序算法 6 分钟读完 (大约837个字)基数排序一、算法描述1.1 核心思想 数据有高低位之分,位之间有递进关系 高位相等的情况下,才去对比低位大小 按照低位到高位的顺序,使用稳定排序算法对每一位排序 1.2 细节解释 算法, 排序, 基数排序 阅读更多
桶排序 2022-09-05 2023-10-06 数据结构与算法 / 排序算法 6 分钟读完 (大约924个字)桶排序一、算法描述1.1 核心思想 把不同范围的数据划分到不同的桶中 桶与桶之间是有序的,桶间无需排序 只需要对桶内的数据排序 1.2 细节解释 算法, 排序, 桶排序 阅读更多