Loading

随笔分类 -  算法和数据结构

摘要:快速求完全二叉树的节点个数 作者:Grey 原文地址: 博客园:快速求完全二叉树的节点个数 CSDN:快速求完全二叉树的节点个数 题目链接 LeetCode 222. 完全二叉树的节点个数 题目进阶要求 **进阶:**遍历树来统计节点是一种时间复杂度为 O(n) 的简单解决方案。你可以设计一个更快的 阅读全文
posted @ 2022-06-09 18:46 Grey Zeng 阅读(1085) 评论(0) 推荐(1) 编辑
摘要:二叉树的按层遍历相关问题 作者:Grey 原文地址: 博客园:二叉树的按层遍历相关问题 CSDN:二叉树的按层遍历相关问题 说明 本文主要介绍了二叉树的按层遍历。并且分别用如下三种方式实现: 哈希表结合 LinkedList 使用系统自带的 LinkedList 自定义队列 以上方法只是空间复杂度有 阅读全文
posted @ 2022-06-08 19:05 Grey Zeng 阅读(790) 评论(0) 推荐(0) 编辑
摘要:有效括号匹配问题 作者: Grey 原文地址: 博客园:有效括号匹配问题 CSDN:有效括号匹配问题 LeetCode 20. 有效的括号 主要思路 使用一个栈,然后开始遍历整个序列,入栈和出栈规则如下: 遇到左括号入栈 遇到右括号,从栈里先弹出一个元素,如果弹出的元素和这个右括号正好匹配,则继续, 阅读全文
posted @ 2022-06-07 20:47 Grey Zeng 阅读(336) 评论(0) 推荐(0) 编辑
摘要:使用并查集解决的相关问题 作者: Grey 原文地址: 博客园:使用并查集解决的相关问题 CSDN:使用并查集解决的相关问题 关于并查集的说明,见如下博客: 使用并查集处理集合的合并和查询问题 相关题目 LeetCode 200. 岛屿数量 本题的解题思路参考博客 使用DFS和并查集方法解决岛问题 阅读全文
posted @ 2022-06-04 23:15 Grey Zeng 阅读(289) 评论(0) 推荐(1) 编辑
摘要:使用并查集处理集合的合并和查询问题 作者:Grey 原文地址: 博客园:使用并查集处理集合的合并和查询问题 CSDN:使用并查集处理集合的合并和查询问题 要解决的问题 有若干个样本a、b、c、d…,假设类型都是V,在并查集中一开始认为每个样本都在单独的集合里,用户可以在任何时候调用如下两个方法 : 阅读全文
posted @ 2022-06-03 16:26 Grey Zeng 阅读(301) 评论(0) 推荐(0) 编辑
摘要:超级洗衣机问题 作者:Grey 原文地址: 博客园:超级洗衣机问题 CSDN:超级洗衣机问题 题目链接:LeetCode 517. 超级洗衣机问题 主要思路 有两个显而易见的结论: 假设所有衣服的数量之和是sum,如果sum % N != 0,则无论如何都无法做到让所有洗衣机平分衣服。 假设洗衣机的 阅读全文
posted @ 2022-06-01 19:47 Grey Zeng 阅读(73) 评论(0) 推荐(0) 编辑
摘要:正则表达式匹配问题 作者:Grey 原文链接: 博客园:正则表达式匹配问题 CSDN:正则表达式匹配问题 问题链接 LeetCode 10. 正则表达式匹配 暴力解法 先过滤掉无效参数,比如: 在s串中,不能有.和*两个字符, 在p串中,两个*不能相邻,*不能出现在p串的开始位置。 以上两种情况下, 阅读全文
posted @ 2022-05-31 19:04 Grey Zeng 阅读(425) 评论(0) 推荐(1) 编辑
摘要:子数组或者子矩阵的最大累加和问题 作者:Grey 原文地址: 博客园:子数组或者子矩阵的最大累加和问题 CSDN:子数组或者子矩阵的最大累加和问题 子数组的最大累加和 题目链接:LeetCode 53. 最大子数组的和 主要思路: 设置dp数组,长度和原始数组一样,dp[i]表示必须以i位置结尾的子 阅读全文
posted @ 2022-05-30 13:51 Grey Zeng 阅读(124) 评论(0) 推荐(0) 编辑
摘要:寻找两个正序数组中的中位数 作者:Grey 原文地址: 博客园:寻找两个正序数组中的中位数 CSDN:寻找两个正序数组中的中位数 题目链接 LeetCode 4. 寻找两个正序数组中的中位数 例如:nums1数组是 [1,2], nums2 数组是 [3,4] 那么这两个数组的合并数组是[1,2,3 阅读全文
posted @ 2022-05-29 20:14 Grey Zeng 阅读(919) 评论(0) 推荐(1) 编辑
摘要:单词搜索系列问题 作者:Grey 原文地址: 博客园:单词搜索系列问题 CSDN:单词搜索系列问题 LeetCode 79. 单词搜索 总体思路是:枚举从board的每个位置开始,看能否走出给定的单词,伪代码如下: for (int i = 0; i < board.length; i++) { f 阅读全文
posted @ 2022-05-28 19:23 Grey Zeng 阅读(387) 评论(0) 推荐(0) 编辑
摘要:买卖股票的最佳时机系列问题 作者:Grey 原文地址: 博客园:买卖股票的最佳时机系列问题 CSDN:买卖股票的最佳时机系列问题 LeetCode 121. 买卖股票的最佳时机 主要思路:因为只有一股可以交易,所以我们可以枚举必须以i位置作为卖出时机的情况下,得到的最大收益是多少。如果我们得到每个i 阅读全文
posted @ 2022-04-23 14:50 Grey Zeng 阅读(555) 评论(0) 推荐(1) 编辑
摘要:最长递增子序列 作者:Grey 原文地址: 博客园:最长递增子序列 CSDN:最长递增子序列 问题描述 LeetCode 300. 最长递增子序列 说明:这里的递增指的是严格递增,相等的时候不算递增。 暴力解法 dp[i]表示: 必须以i位置结尾的最长递增子序列是多少,如果求出了每个位置的dp[i] 阅读全文
posted @ 2022-04-16 17:12 Grey Zeng 阅读(454) 评论(0) 推荐(0) 编辑
摘要:使用加强堆解决 topK 问题 作者:Grey 原文地址: 博客园:使用加强堆解决 topK 问题 CSDN:使用加强堆解决 topK 问题 题目描述 LintCode 550 · Top K Frequent Words II 思路 由于要统计每个字符串的次数,以及字典序,所以,我们需要把用户每次 阅读全文
posted @ 2022-04-10 11:26 Grey Zeng 阅读(302) 评论(0) 推荐(0) 编辑
摘要:判断一个数是否是 Step Sum 作者:Grey 原文地址: 博客园:判断一个数是否是 Step Sum CSDN:判断一个数是否是 Step Sum 题目说明 何为 Step Sum? 比如:680 这个数 680 + 68 + 6 = 754, 所以 680 这个数的 Step Sum 是75 阅读全文
posted @ 2022-03-07 19:05 Grey Zeng 阅读(428) 评论(0) 推荐(1) 编辑
摘要:二叉树的先,中,后序遍历(递归,非递归) 作者:Grey 原文地址: 博客园:二叉树的先,中,后序遍历(递归,非递归) CSDN:二叉树的先,中,后序遍历(递归,非递归) 说明 本文主要介绍了二叉树的先序,中序,后序遍历。并且分别用如下两种方式实现: 递归方法 非递归(使用栈) 示例二叉树 数据结构 阅读全文
posted @ 2022-02-27 15:56 Grey Zeng 阅读(1006) 评论(0) 推荐(0) 编辑
摘要:使用线段树解决数组任意区间元素修改问题 作者:Grey 原文地址: 博客园:使用线段树解决数组任意区间元素修改问题 CSDN:使用线段树解决数组任意区间元素修改问题 要解决的问题 数组任意区间内的元素修改,增加,求和,时间复杂度都要达到 $O(logN)$ 水平, 方法说明如下: 在数组 arr 中 阅读全文
posted @ 2022-02-24 13:19 Grey Zeng 阅读(382) 评论(0) 推荐(1) 编辑
摘要:加油站的良好出发点问题 作者:Grey 原文地址: 博客园:加油站的良好出发点问题 CSDN:加油站的良好出发点问题 题目描述 题目链接 思路 暴力解法 O(N^2) 我们可以通过生成辅助数组来验证良好出发点 int[]h 这个数组的长度和cost数组长度一致,且这个数组的每个元素的生成逻辑是: h 阅读全文
posted @ 2022-02-08 20:14 Grey Zeng 阅读(161) 评论(0) 推荐(0) 编辑
摘要:滑动窗口最大值问题 作者:Grey 原文地址: 博客园:滑动窗口最大值问题 CSDN:滑动窗口最大值问题 题目描述 LeetCode 239. 滑动窗口最大值 思路 数组为num, 滑动窗口大小是k,首先两个极端情况: 情况1,如果k=1,则直接返回原数组即可(滑动窗口大小为1,那么每个窗口的最小值 阅读全文
posted @ 2022-02-07 18:43 Grey Zeng 阅读(204) 评论(0) 推荐(0) 编辑
摘要:线段最大重合区域问题 作者:Grey 原文地址: 博客园:线段最大重合区域问题 CSDN:线段最大重合区域问题 题目描述 牛客-线段重合-连接点算重合区域 主要思路 暴力解法 第一步,首先得到所有线段开始位置的最小值(假设为 min)和结束位置的最大值(假设为 max),组成了一个\([min... 阅读全文
posted @ 2022-01-06 22:17 Grey Zeng 阅读(505) 评论(0) 推荐(0) 编辑
摘要:有序表和搜索二叉树 作者: Grey 原文地址: 博客园:有序表和搜索二叉树 CSDN:有序表和搜索二叉树 说明 本文的所有图例见:processon: 有序表和搜索二叉树 搜索二叉树 定义:任何一个节点,左树都比这个节点小,右数都比这个节点大,经典搜索二叉树是没有重复值的,有重复值就压在一起 构造 阅读全文
posted @ 2021-10-14 23:04 Grey Zeng 阅读(393) 评论(0) 推荐(0) 编辑