算法之旅
本文档的学习路线、讲次划分和内容编排,完全基于左程云老师(程序员左程云)的「算法和数据结构通关课」整理而来,在此向左老师致以诚挚的感谢。 👉 左老师的算法和数据结构通关课 B站、YouTube 同步更新,完全免费,觉得好帮忙扩散! 📺 B站:algorithmzuo 🎬 YouTube:algorithmzuo 📂 GitHub:github.com/algorithmzuo — 配套代码和资源下载 完整的算法学习路线图,共 103 讲。建议按「入门 → 必备 → 扩展」顺序学习。 🔗 标记的条目表示本站有对应博客文章文字版 学习总览1234567【入门篇】001 ~ 018 (18讲) → 打好数据结构和基础算法地基 │ ▼【必备篇】019 ~ 099 (81讲) → 覆盖笔试面试 99% 考点 │ ▼【扩展篇】100 ~ 103 (4讲) → KMP / AC 自动机 / Manacher 等进阶 一、入门篇(001 ~ 018) 目标:掌握基础数据结构和简单排序,能独立写出链表、二叉树、栈...
Leetcode-3414-不重叠区间的最大得分
题目3414. 不重叠区间的最大得分 给你一个二维整数数组 intervals,其中 intervals[i] = [l_i, r_i, weight_i]。区间 i 的起点为 l_i,终点为 r_i,权重为 weight_i。你最多可以选择 4 个互不重叠的区间。所选择区间的得分定义为这些区间权重的总和。 返回一个数组,包含从 intervals 中选出的至多 4 个区间的下标(原始下标),使得得分最大。如果有多个方案得分相同,返回字典序最小的那个。 注意:区间 [a, b] 包含端点,即两个区间共享端点也算重叠。 示例 1: 123输入:intervals = [[1,3,2],[4,5,2],[1,5,5],[6,9,3],[6,7,1],[8,9,1]]输出:[2,3]解释:可以选择下标为 2 和 3 的区间,其权重分别为 5 和 3。 示例 2: 123输入:intervals = [[5,8,1],[6,7,7],[4,7,3],[9,10,6],[7,8,2],[11,14,3],[3,5,5]]输出:[1,3,5,6]解释:可以选择下标为 1、3、5 和 6 的...
小花获胜的奶茶
小花获胜的奶茶题目内容小菊和小花是好朋友,他们玩一个数字游戏。小菊在纸上写了一排数组,小花需要从中选择连续k个数字,使得这k个数字的和最大。小花正确找到最大的值就是获胜,小菊则提供1杯奶茶。 输入描述 一排数字 连续数字的个数k 输出描述最大k个数字和 样例1输入1,3,8,6,4,10 3 输出20
Leetcode-3875-构造奇偶一致的数组-I
题目3875. 构造奇偶一致的数组 I 给你一个长度为 n 的数组 nums1,其中包含 互不相同 的整数。 你需要构造另一个长度为 n 的数组 nums2,使得 nums2 中的元素要么全部为奇数,要么全部为偶数。 对于每个下标 i,你必须从以下两种选择中任选其一(顺序不限): nums2[i] = nums1[i] nums2[i] = nums1[i] - nums1[j],其中 j ≠ i 如果可以构造出满足条件的数组 nums2,返回 true;否则返回 false。 示例 1: 123输入:nums1 = [2,3]输出:true解释:nums2[0] = 2 - 3 = -1(奇数),nums2[1] = 3(奇数)。nums2 = [-1, 3] 全为奇数。 示例 2: 123输入:nums1 = [4,6]输出:true解释:nums2[0] = 4,nums2[1] = 6。nums2 = [4, 6] 全为偶数。 提示: 2 <= n <= 100 -10^5 <= nums1[i] <= 10^5 思路奇偶性的三条运算规...
Leetcode-3702-按位异或非零的最长子序列
题目3702. 按位异或非零的最长子序列 给你一个整数数组 nums,请你返回 nums 中最长的子序列的长度,使得该子序列所有元素的按位异或结果非零。如果不存在这样的子序列,返回 0。 子序列 是指从原数组中删除一些(或不删除)元素,且不改变剩余元素顺序得到的非空数组。 示例 1: 123输入:nums = [1,2,3]输出:2解释:最长的按位异或非零子序列是 [2,3](2 ^ 3 = 1)或 [1,2](1 ^ 2 = 3),长度为 2。 示例 2: 123输入:nums = [0,0,0]输出:0解释:任何子序列的异或结果都是 0,不存在非零异或的子序列。 示例 3: 123输入:nums = [5]输出:1解释:整个数组的异或结果为 5,非零,长度为 1。 提示: 1 <= nums.length <= 10^5 0 <= nums[i] <= 10^9 思路异或的核心性质本题的关键在于利用异或运算的以下性质: 自反性:a ^ a = 0,任何数与自身异或得 0。 恒等性:a ^ 0 = a,任何数与 0 异或等于自身。 交换律与结...