LeetCode 0225】【队列】用队列实现栈

描述 void push(int x) Pushes element x to the top of the stack.int pop() Removes the element on the top of the stack and returns it.int top() Returns the element on the top of the stack.boolean empty() Returns...

【快慢指针】个人练习-Leetcode-142. Linked List Cycle II

题目链接:https://leetcode.cn/problems/linked-list-cycle-ii/description/ 题目大意:给一个链表的头部,判断链表是否有环,如果有,返回环的第一个指针;如果没有,返回nullptr 思路:简单的思路是并查集,第二次插入的那个指针就是环的起点。但这样空间复杂度还是 O ( N ) O(N) O(N)。使用快慢指针可以让空间复杂度降为 O ( 1 ) O(1...

LeetCode:2742. 给墙壁刷油漆 + 递归 + 记忆化搜索 + dp】

🍔 目录 🚩 题目链接⛲ 题目描述🌟 求解思路&实现代码&运行结果⚡ 递归 + 记忆化搜索 + dp🥦 求解思路🥦 实现代码🥦 运行结果 💬 共勉 🚩 题目链接 2742. 给墙壁刷油漆 ⛲ 题目描述 给你两个长度为 n 下标从 0 开始的整数数组 cost 和 time ,分别表示给 n 堵不同的墙刷油漆需要的开销和时间。你有两名油漆匠: 一位需要 付费 的油漆匠,刷第 i 堵墙需要花费 time[i] 单位...

【贪心】【哈希表】个人练习-Leetcode-846. Hand of Straights

题目链接:https://leetcode.cn/problems/hand-of-straights/ 题目大意:给出一数列,求是否能刚好将它们分成若干组,每组的元素数量为groupSize,并且元素连续。 思路:因为题目的限制很死,如果能够分那么分的结果一定是确定的。那么就可以贪心做。 先排序,并记录每种元素出现的次数,用哈希表cnt来记。然后从小到大遍历,每轮从【残存次数大于0的最小的数】开始(可以用一个...

【DFS】个人练习-Leetcode-LCS 03. 主题空间

题目链接:https://leetcode.cn/problems/YesdPw/description/ 题目大意:二位字符数组grid[][],0代表走廊,其他字符代表某种type的房间。上下左右连续的同type的房间被视为同一块区域。grid[][]边缘的房间也视为和走廊相接(相当于最外层包了一圈0)。求不和0接触的最大的区域面积。 思路:主要还是DFS,但具体怎么DFS没想太明白,写得磕磕绊绊,最后还是...

leetcode-19-回溯

引自代码随想录 [77]组合 给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4]] 1、大致逻辑  k为树的深度,到叶子节点的路径即为一个结果 开始索引保证不重复取数 每一个节点为一个for循环 2、剪枝(优化) (1)和大于n,结束递归。 (2)剩余...

LeetCode:394. 字符串解码 + 栈 | 递归】

🍔 目录 🚩 题目链接⛲ 题目描述🌟 求解思路&实现代码&运行结果⚡ 栈 | 递归🥦 求解思路🥦 实现代码🥦 运行结果 💬 共勉 🚩 题目链接 394. 字符串解码 ⛲ 题目描述 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字...

leetcode153. 寻找旋转排序数组中的最小值

leetcode153. 寻找旋转排序数组中的最小值 使用二分法。中间值如果小于等于最右边的值,去左边部分找;中间值如果大于最右边的值,去右半部分找。 def rotate_array_min(nums): n = len(nums) low = 0 high = n - 1 while low < high: mid = low + (high - low) // 2 if nums[mid] < nums[...

leetcode-12-[226]翻转二叉树[101]对称二叉树[104]二叉树的最大深度[111]二叉树的最小深度

前置知识: 深度:任意节点到根节点的节点数 高度:任意节点到叶子节点(左右孩子都为空)的节点数 一、[226]翻转二叉树 重点:交换节点应该传入根节点 class Solution { public TreeNode invertTree(TreeNode root) { if(root==null) return root; //前序遍历 swap(root); invertTree(root.left); i...

LeetCode:2982. 找出出现至少三次的最长特殊子字符串 II + 二分 + 滑动窗口】

🍔 目录 🚩 题目链接⛲ 题目描述🌟 求解思路&实现代码&运行结果⚡ 二分 + 滑动窗口🥦 求解思路🥦 实现代码🥦 运行结果 💬 共勉 🚩 题目链接 2982. 找出出现至少三次的最长特殊子字符串 II ⛲ 题目描述 给你一个仅由小写英文字母组成的字符串 s 。 如果一个字符串仅由单一字符组成,那么它被称为 特殊 字符串。例如,字符串 “abc” 不是特殊字符串,而字符串 “ddd”、“zz” 和 “f” 是特...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.004593(s)
2024-12-28 14:18:49 1735366729