首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
算法
GeekQiaQia
创建于2021-08-02
订阅专栏
算法:解决问题的一种方法
等 2 人订阅
共40篇文章
创建于2021-08-02
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【温故知新】`704. 二分查找` 有序数组中利用双指针遍历查找
往期回顾 【温故知新】252. 会议室 排序遍历 题目描述 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标
【温故知新】`252. 会议室` 排序遍历
题目描述 给定一个会议时间安排的数组 intervals ,每个会议时间都会包括开始和结束的时间 intervals[i] = [starti, endi] ,请你判断一个人是否能够参加这里面的全部会
【温故知新】`714. 买卖股票的最佳时机含手续费` 贪心算法、动态规划实现
题目描述 给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;整数 fee 代表了交易股票的手续费用。 你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买
【温故知新】`122. 买卖股票的最佳时机 II` 贪心算法、动态规划实现
题目描述 给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你
【温故知新】`121. 买卖股票的最佳时机` 动态规划、双指针实现
题目描述 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计
【温故知新】`2. 两数相加` 单向列表操作
题目描述 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表
【温故知新】‘检查二叉树的平衡性’ 递归计算左右子树的高度
题目描述 解题思路 根据平衡性的定义,计算每个节点的左右子树高度。 如果某个节点的左右子树高度差大于1,则不平衡,返回false,算法结束; 否则说明以当前节点为根的子树是平衡的,继续检查当前节点的左
【温故知新】`114. 二叉树展开为链表` 深度优先、前序遍历特性实现
题目描述 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。 展开
【温故知新】谷歌面试:`226. 翻转二叉树` 广度优先、深度优先 、前序、后序递归4种解法
题目描述 备注: 这个问题是受到 Max Howell 的 原问题 启发的 : 谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕
【温故知新】`1367. 二叉树中的列表` 递归分解问题求解
题目描述 解题思路 根据平衡性的定义,计算每个节点的左右子树高度。 如果某个节点的左右子树高度差大于1,则不平衡,返回false,算法结束; 否则说明以当前节点为根的子树是平衡的,继续检查当前节点的左
【温故知新】`104. 二叉树的最大深度` 广度优先遍历、递归实现
题目描述 解题思路 思路1:广度优先遍历 特殊情况优先考虑: 当root==null; return 0; 否则定义一个队列queue[];用来存储每一层的树节点TreeNode; 如示例:root=
【温故知新】`102. 二叉树的层序遍历` 广度优先遍历、队列先进先出的原则
题目描述 解题思路 广度优先遍历 特殊情况优先处理 层序遍历利用queue队列的先进先出的原则 定义队列queue并初始化为根节点root; 遍历队列queue 我们定义levelNum为当前层级的节
【温故知新】`101. 对称二叉树` 利用队列、递归实现二叉树的判断
题目描述 解题思路 递归实现 镜像对称,就是左右两边相等,也就是左子树和右子树是相当的。 左子树和右子相等,意味着递归的比较左子树和右子树。 特殊情况处理: 如果根节点为null,则对称; dfs(r
【温故知新】'20有效的括号' 利用栈先进后出原则
题目描述 有效的括号 解题思路 stack 栈先进后出 定义一个map对象,将左括号作为key值,右括号作为value值; 利用栈先进后出的原则;定义栈stack; 遍历括号字符串s; 如果是左括号则
【温故知新】`18. 四数之和` 由2Sum 3Sum 递归演化为 nSum: n数之和
两数之和 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答
【温故知新】`70. 爬楼梯进阶版` 完全背包🎒问题AC-动态规划实现
题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解
【温故知新】`416. 分割等和子集`01背包🎒问题存在解-动态规划实现
题目描述 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入:nums = [1,5,11,5] 输出:tr
【温故知新】`494. 目标和` 表达式转化为01背包🎒问题-动态规划实现
题目描述: 给你一个整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 '+' 或 '-' ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums = [2, 1] ,
【温故知新】`474. 一和零` 01背包🎒问题最大解-动态规划实现
题目描述 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的大小,该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y
【温故知新】`138. 复制带随机指针的链表` 链表深拷贝 哈希表实现
题目描述 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,
下一页