摘要:1. 题目 考查点 对回溯算法的理解和应用,以及你对字符串或者数组的操作和遍历。你需要掌握回溯算法的基本框架和思想,以及如何用代码实现回溯的过程。你还需要注意一些细节,比如如何避免重复的排列,如何恢复原来的状态,如何优化时间和空间复杂度等。 2. 解法 思路 这道题的思路是用**回溯**算法来求解。
阅读全文
随笔分类 - 算法
摘要:1. 题目 考查点 对回溯算法的理解和应用,以及你对字符串或者数组的操作和遍历。你需要掌握回溯算法的基本框架和思想,以及如何用代码实现回溯的过程。你还需要注意一些细节,比如如何避免重复的排列,如何恢复原来的状态,如何优化时间和空间复杂度等。 2. 解法 思路 这道题的思路是用**回溯**算法来求解。
阅读全文
摘要:1. 题目 读题 https://leetcode.cn/problems/permutations-ii/submissions/428949841/ 考查点 这道题的考查点主要有以下几个: - **回溯法**:回溯法是一种搜索所有可能解的方法,它的基本思想是从一个初始状态开始,每次尝试一个可能的
阅读全文
摘要:回溯算法 定义 回溯算法是一种搜索问题的解的方法,它可以找出所有可能的解,或者找出最优的解。 思想 回溯算法的思想是,从一个初始状态开始,每次尝试一个可能的选择,然后递归地继续搜索下一步。如果发现当前的选择不能达到目标或者不满足条件,就回退到上一步,换一个选择继续尝试。这种不断前进和后退的过程就叫做
阅读全文
摘要:1. 题目 读题 https://leetcode.cn/problems/generate-parentheses/ 这道题的题目描述是这样的: 给定一个整数n,表示括号对的数量,写一个函数来生成所有可能的有效括号组合。¹ 有效括号组合的意思是,每个左括号都有一个对应的右括号,并且括号之间的嵌套关
阅读全文
摘要:1. 题目 读题 https://leetcode.cn/problems/permutations/description/ LeetCode 46题是一个**全排列**问题,给定一个不含重复数字的数组 nums ,返回其 **所有可能的全排列**。你可以 **按任意顺序** 返回答案。¹³ 例如
阅读全文
摘要:1. 题目 2. 解法 思路 这道题的考点是字符串的处理和分割,以及整数的比较。解题思路是: 首先,将两个版本号按照"."分割成字符串数组,这样就可以得到每个修订号的字符串表示。 然后,遍历两个数组,比较每个位置上的修订号。为了方便比较,可以将字符串转换成整数,这样就可以忽略前导零的影响。 如果某个
阅读全文
摘要:1. 题目 https://leetcode.cn/problems/string-to-integer-atoi/submissions/428764685/ LeetCode 8 是一道字符串转换整数的题目, 考查的是如何处理各种边界情况和异常输入,比如空格、正负号、非数字字符、溢出等 2. 解
阅读全文
摘要:1. 题目 https://leetcode.cn/problems/longest-palindromic-substring/description/ 2. 解法 总有三种解法 动态规划、中心扩展和马拉车算法这三种解法。根据网上的资料,我总结了以下几点: 动态规划的思路是用一个二维数组 dp[i
阅读全文
摘要:1. 题目 题目 考查点 这个算法题的考查点是: 字符串的处理,如去除空格,分割单词,拼接字符串等。 双指针的使用,如左右指针,单词边界指针等。 字符串的反转,如整体反转,局部反转等。 2. 解法 思路 这个代码的思路是先去除字符串首尾的空格,然后反转整个字符串,再反转每个单词。这样就可以实现将每个
阅读全文
摘要:1. 题目 2. 解法 3. 总结
阅读全文
摘要:1. 题目 https://leetcode.cn/problems/find-minimum-in-rotated-sorted-array/ 考察点: 这道题的考察点是二分搜索的应用,你需要掌握如何在旋转排序数组中找到最小值,以及如何判断数组是否旋转过。你还需要注意时间复杂度要求是O(log n
阅读全文
摘要:1. 题目 2. 解法 思路:滑动窗口来遍历字符串 大致如下: 定义一个哈希集合和两个指针,分别表示窗口内的字符和窗口的左右边界。 定义一个变量,表示窗口的最大长度,也就是答案。 从左到右遍历字符串,每次移动右指针,把它指向的字符加入到哈希集合中。 如果哈希集合中已经存在这个字符,说明有重复,那么就
阅读全文
摘要:1. 题目 https://leetcode.cn/problems/search-in-rotated-sorted-array/ 考察点 这道题的考察点是二分查找的应用。二分查找是一种在有序数组中查找目标值的高效算法,它的时间复杂度是O(log n)。二分查找的基本思想是,每次比较中间元素和目标
阅读全文
摘要:1. 题目 https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/ 考察点 这道题主要考察的是数组和二分查找的知识点。😊 数组是一种基本的数据结构,可以用来存储多个相同类型的数据,可
阅读全文
摘要:1. 题目 https://leetcode.cn/problems/path-sum-iii/ 考察点 这道题的考察点是: 二叉树的遍历,如何使用深度优先搜索或广度优先搜索来访问每个节点。 前缀和的概念,如何利用前缀和来快速计算路径和,以及如何处理负数的情况。 哈希表的使用,如何利用哈希表来存储和
阅读全文
摘要:1. 题目 https://leetcode.cn/problems/convert-bst-to-greater-tree/ 考察点 总结一下这个题目的要点: 题目给定一个二叉搜索树,要求把它转换成累加树,即每个节点的值是原来的值加上所有大于它的值之和。 为了实现这个转换,我们需要按照节点值降序遍
阅读全文
摘要:1. 题目 https://leetcode.cn/problems/binary-tree-maximum-path-sum/description/ 路径是指从树中任意节点出发,到达任意节点的序列,不一定经过根节点。路径和是指路径上所有节点的值的和。要求返回任意非空二叉树的最大路径和。 考察点
阅读全文
摘要:1. 题目 2. 解法 解答思路 求一棵二叉树的直径,也就是树中任意两个节点之间的最长路径的长度。这条路径可能经过或不经过根节点。路径的长度用边的数量来表示。 解题思路是使用递归函数,对于每个节点,计算它的左子树和右子树的高度, 然后更新一个全局变量 max,使其为 max 和左右子树高度之和的较大
阅读全文
摘要:1. 总结 本期主要讲了 栈和树 两种结构 ,关键字:递归
阅读全文
|