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)剩余...

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

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

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的最小的数】开始(可以用一个...

【快慢指针】个人练习-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: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.面试题17.24.最大子矩阵详解

问题描述 给定一个正整数、负整数和 0 组成的 N × M 矩阵,编写代码找出元素总和最大的子矩阵。 返回一个数组 [r1, c1, r2, c2],其中 r1, c1 分别代表子矩阵左上角的行号和列号,r2, c2 分别代表右下角的行号和列号。若有多个满足条件的子矩阵,返回任意一个均可。 解题思路 1. 基础概念:Kadane算法 首先,我们需要了解Kadane算法,这是一种用于在一维数组中找到最大子数组和的算...

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 0231】【位运算】2的N次方

Power of Two Given an integer n, return true if it is a power of two. Otherwise, return false. An integer n is a power of two, if there exists an integer x such that n == 2^x. Example 1: **Input:** n = 1**O...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.005011(s)
2024-07-21 21:04:49 1721567089