回文leetcode 234

LeetCode 383 赎金信

LeetCode 383 赎金信 1. 题目地址 https://leetcode.cn/problems/ransom-note/?envType=study-plan-v2&envId=top-interview-150 2. 题解 这道题是一道哈希表的经典例题,具体步骤如下: 1. 定义哈希表 ......
LeetCode 383

LeetCode 392 判断子序列

LeetCode 392 判断子序列 1. 题目地址 https://leetcode.cn/problems/is-subsequence/?envType=study-plan-v2&envId=top-interview-150 2. 题解 采用双指针算法,具体步骤如下: 1. i指针指向s的 ......
序列 LeetCode 392

leetcode189旋转数组解决——局部旋转 (C/C++/python)

给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1: 输入: nums = [1,2,3,4,5,6,7], k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1, ......
数组 局部 leetcode python 189

LeetCode49——字母异位词分组

给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"] 输出: [["bat"],["nat" ......
字母 LeetCode 49

[LeetCode] 2578. Split With Minimum Sum

Given a positive integer num, split it into two non-negative integers num1 and num2 such that: The concatenation of num1 and num2 is a permutation of  ......
LeetCode Minimum Split 2578 With

LeetCode 58 最后一个单词的长度

LeetCode 58 最后一个单词的长度 1. 题目地址 https://leetcode.cn/problems/length-of-last-word/description/?envType=study-plan-v2&envId=top-interview-150 2. 题解 这道题由于要 ......
单词 长度 LeetCode 58

【LeetCode】最小处理时间

题目 你有 n 颗处理器,每颗处理器都有 4 个核心。现有 n * 4 个待执行任务,每个核心只执行 一个 任务。 给你一个下标从 0 开始的整数数组 processorTime ,表示每颗处理器最早空闲时间。另给你一个下标从 0 开始的整数数组 tasks ,表示执行每个任务所需的时间。返回所有任 ......
LeetCode 时间

算法训练day29 LeetCode 39.40.131

算法训练day29 LeetCode 39.40.131 39.组合总和 题目 39. 组合总和 - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) class Solution { private: vector<vector<int>> result; ve ......
算法 LeetCode day 131 29

算法训练day28 LeetCode 216.17.

算法训练day28 LeetCode 216.17. 216.组合总和III 题目 216. 组合总和 III - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) class Solution { private: vector<vector<int>> res ......
算法 LeetCode day 216 28

算法训练day27 回溯算法概述、LeetCode77

算法训练day27 回溯算法概述、LeetCode77. 回溯算法 与递归函数联系,是一种纯暴力搜索方式 解决问题(抽象为树形结构 组合问题(无序 切割问题 子集问题 排列问题(有序 棋盘问题(n皇后、解数独 回溯算法模板 void backtracking(参数) { if (终止条件) { 存放 ......
算法 LeetCode day 27 77

算法---回溯算法的分割(131分割回文数,93正确分割网络ip)

Letcode 131. 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 示例 1: 输入:s = "aab" 输出:[["a","a","b"],["aa","b"]] 示例 2: 输入:s = " ......
算法 回文 网络 131

LeetCode——98. 验证二叉搜索树

98. 验证二叉搜索树 本次博客,我将记录验证二叉搜索树 由于二叉搜索树的性质是每个节点的左子树中的全部节点数据小于它,而右子树中的全部节点的数据都大于它,因此可以通过这条性质来进行判断 刚上手的时候直接就做了,没考虑到局部最优而非全局最优的情况,遇到这种测试用例直接寄了: 是的,虽然3小于6,7大 ......
LeetCode 98

LeetCode 13 罗马数字转整数

LeetCode 13 罗马数字转整数 1. 题目地址 https://leetcode.cn/problems/roman-to-integer/description/ 2. 题解 这道题的解题过程非常简单,具体如下: 1. 我们需要将罗马数字对应的数,存到一个哈希表中。待用到时,直接使用即可。 ......
整数 LeetCode 数字 13

[Leetcode Weekly Contest]365

链接:LeetCode [Leetcode]2873. 有序三元组中的最大值 I 给你一个下标从 0 开始的整数数组 nums 。 请你从所有满足 i < j < k 的下标三元组 (i, j, k) 中,找出并返回下标三元组的最大值。如果所有满足条件的三元组的值都是负数,则返回 0 。 下标三元组 ......
Leetcode Contest Weekly 365

manacher 回文串处理算法

忘了具体什么时候写的,应该是 2023.8 初 这算是个算法复习,因为我太菜了以前学的都不会了。 manacher 回文串处理算法 其实这个我已经看两天了却一直没有看懂,觉得自己很愚笨,结果发现是自己一直不想去理解吧,然后今天仔细研究了以后发现就是那么个东西,没有什么很深奥的东西,那就自己整理一下思 ......
回文 算法 manacher

Leetcode刷题模版总结

1. 双指针 双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。也可以延伸到多个数组的多个指针。 1)滑动窗口 若两个指针指向同一数组,遍历方向相同且不会相交,则也称为滑动窗口(两个指针包围的区域即为当前的窗口),经常用于区间搜索。 例题: class Solution { publ ......
模版 Leetcode

Leetcode刷题83. 删除排序链表中的重复元素

给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 示例 1: 输入:head = [1,1,2] 输出:[1,2] 示例 2: 输入:head = [1,1,2,3,3] 输出:[1,2,3] 提示: 链表中节点数目在范围 [0, 300]  ......
Leetcode 元素 83

LeetCode——95. 不同的二叉搜索树 II

本次博客,我将记录leetcode95,不同的二叉搜索树 95. 不同的二叉搜索树 II 本题要求我们从1~n构造不同的二叉搜索树 因为好久不碰数据结构了,导致对二叉搜索树的概念十分模糊 以下是一些概念: 二叉搜索树(BST,Binary Search Tree),也称二叉排序树或二叉查找树。 性质 ......
LeetCode 95 II

[题解]AT_abc234_g [ABC234G] Divide a Sequence

思路 定义 \(dp_i\) 表示将前 \(i\) 个分为若干段的价值总和。容易得到状态转移方程: \[dp_i = \sum_{j = 1}^{i - 1}{dp_j \times (\max_{k = j + 1}^{i}\{a_k\} - \min_{k = j + 1}^{i}\{a_k\} ......
题解 234 Sequence AT_abc Divide

[题解]AT_abc234_g [ABC234G] Divide a Sequence

思路 定义 \(dp_i\) 表示将前 \(i\) 个分为若干段的价值总和。容易得到状态转移方程: \[dp_i = \sum_{j = 1}^{i - 1}{dp_j \times (\max_{k = j + 1}^{i}\{a_k\} - \min_{k = j + 1}^{i}\{a_k\} ......
题解 234 Sequence AT_abc Divide

LeetCode 88 合并两个有序数组

Hello World ......
数组 LeetCode 两个 88

LeetCode 周赛上分之旅 #49 再探内向基环树

⭐️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆盖的问题域就越广,理解难度也更复杂。在这个专栏里,小彭与你分享每场 LeetCode ......
LeetCode 之旅 49

算法训练day23 LeetCode669.108.538.

算法训练day23 LeetCode669.108.538. 669.修剪二叉搜索树 题目 669. 修剪二叉搜索树 - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) 递归 不能单纯地由根节点的值直接删除单值,需要继续判断子节点是否符合条件 class Sol ......
算法 LeetCode day 108 669

回文自动机(PAM) 详解

PAM 是一种高效存储字符串中所有回文子串的自动机,用于解决回文串相关问题。 虽然代码稍微长一点,但写起来比 manacher 容易很多,毕竟没有加了一堆字符再转回原串的若干上取整下取整问题。 前置知识 无。或许需要一些自动机相关的理论基础。 结构 & 定义 状态 我们用 PAM 上的一个节点来表示 ......
自动机 回文 PAM

LeetCode 周赛上分之旅 #48 一道简单的树上动态规划问题

⭐️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆盖的问题域就越广,理解难度也更复杂。在这个专栏里,小彭与你分享每场 LeetCode ......
LeetCode 一道 之旅 动态 问题

Leetcode 45. 跳跃游戏 II

https://leetcode.cn/problems/jump-game-ii/description/ 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以 ......
Leetcode 45 II

Leetcode 1143. 最长公共子序列

https://leetcode.cn/problems/longest-common-subsequence/description/?envType=study-plan-v2&envId=top-100-liked 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 ......
序列 Leetcode 1143

[LeetCode] 2334. Subarray With Elements Greater Than Varying Threshold_Hard tag: dp, stack

You are given an integer array nums and an integer threshold. Find any subarray of nums of length k such that every element in the subarray is greater ......

[leetcode] 30. 串联所有单词的子串

题目 30. 串联所有单词的子串 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如,如果 words = ["ab","cd","ef"], 那么 "abcdef" ......
单词 leetcode 30

算法训练day22 LeetCode235

算法训练day22 LeetCode235.701.450. 235. 二叉搜索树的最近公共祖先 题目 235. 二叉搜索树的最近公共祖先 - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) 对于二叉树,可以用递归回溯的方式 对于二叉搜索树,由其根节点大于左右子 ......
算法 LeetCode day 235 22