摘要: 错误集锦 题目连接 最大数 阅读全文
posted @ 2021-04-12 15:29 focusDing 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 题目来源 Full Binary Tree Description In computer science,a binary tree is a tree data structure in which each node has at most two children. Consider an 阅读全文
posted @ 2021-04-12 13:44 focusDing 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 思路:通过多次画图可以总结出来普遍的数学规律。假如我们要找结点b的中序遍历的下一个结点。根据中序遍历的特点,先访问b的左子树,然后访问结点b,最后访问b的右子 阅读全文
posted @ 2021-03-11 12:56 focusDing 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 300. 最长递增子序列 思路与方法 定义$dp[i]$为考虑前i个元素,以第i个元素为结尾的最长上升子序列的长度。nums[i]必须包含 我们从小到大计算$dp$数组的值。在计算$dp[i]$之前, 假设我们已经计算出了$dp[0 \dots i-1]$的值,则状态转移方程为: \(dp[i] = 阅读全文
posted @ 2021-03-04 16:05 focusDing 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 304. 二维区域和检索 - 矩阵不可变 解题思路: 这道题目很显然不能够用暴力解法。但是一时间想不到更好的办法。 想起昨天一道类似的区域求和问题,我用的是前缀和的方法解决的。 这道题目是二维的,可以用前缀和的方法吗? 首先直接对二维数组进行前缀和统计肯定是困难的。那么我尝试将二维数组转换为一维数组 阅读全文
posted @ 2021-03-02 16:05 focusDing 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 05. 替换空格 解题方法 首先遍历字符串,统计出字符串中空格的总数 spaceNum 扩充字符串的长度。设立两个指针,根据数学规律进行后移复制。 class Solution { public: string replaceSpace(string s) { int spaceN 阅读全文
posted @ 2021-03-01 18:31 focusDing 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 04. 二维数组中的查找 当我们需要解决一个复杂的问题时,一个有效的办法就是从一个具体的问题入手,通过分析简单具体的例子,试图寻找普遍的规律。针对 这个问题,我们也不妨从一个具体的例子入手。 | 1 | 2 | 8 | 9 | | | | | | | 2 | 4 | 9 | 12 阅读全文
posted @ 2021-03-01 17:11 focusDing 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 不修改数组找出重复的数字 解题思想 题目要求不能修改输入的数组,我们可创建一个长度为n+1的辅助数组,逐一复制,我们就很容易发现哪个数字重复了。 由于需要创建一个数组,该方案需要O(N)的辅助空间。 接下来我们尝试避免使用O(n)的辅助空间。为什么数组中会出现重复数字。因为限定了范围的缘故。 好比有 阅读全文
posted @ 2021-03-01 16:07 focusDing 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 03. 数组中重复的数字: 方法一:利用空间换时间。哈希表 class Solution { public: int findRepeatNumber(vector<int>& nums) { vector<int> hashNum; int ans; int len = nums 阅读全文
posted @ 2021-03-01 13:19 focusDing 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 解码方法 这道题目我考虑到了使用动态规划,但是考虑的不全面。 算法分析 分析: 本题利用动态规划解决,但是需要注意分情况讨论 dp[i] 为str[0……i]的译码方法总数 分情况讨论: (极端情况)若s[i] = '0',那么若s[i-1] = '1' or '2',则dp[i] = dp[i-1 阅读全文
posted @ 2021-03-01 11:24 focusDing 阅读(140) 评论(0) 推荐(0) 编辑