开发者导航
技术文章
使用贪心算法解决“柠檬水找零”问题(吊炸天的解法)
从上往下,找到一个节点时,标记这个节点的深度。查看该节点是否为叶子节点,如果是直接返回深度(找到第一个叶子节点即可,后面就不需要判断了)
使用贪心算法解决“最长连续递增序列”问题
从上往下,找到一个节点时,标记这个节点的深度。查看该节点是否为叶子节点,如果是直接返回深度(找到第一个叶子节点即可,后面就不需要判断了)
使用广度优先解决“二叉树的最小深度”问题
从上往下,找到一个节点时,标记这个节点的深度。查看该节点是否为叶子节点,如果是直接返回深度(找到第一个叶子节点即可,后面就不需要判断了)
使用深度优先解决“二叉树的最小深度”问题
遍历整棵树,找到每一个叶子节点,从叶子节点往上开始计算(使用递归),左右子节点都为空则记录深度为1;左右子节点只有一边,深度记录为子节点深度+1;左右...
使用滑动窗口算法解决“子数组最大平均数”问题
滑动窗口是一个大小可变的窗口,左右两端方向一致地向前滑动。它其实是双指针算法中的一个特例。一个指针指向窗口第一个元素,一个指针指向窗口最后一个元素...
合并两个有序数组的三种解法
合并两个有序数组 两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 初始化 nums1 和 nums2 的元素数量分别为 m 和...
判断“环形链表”中是否有环的两种解法
环形链表 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链...
排列硬币的三种解法
排列硬币 总共有 n 枚硬币,将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币。给定一个数字 n,找出可形成完整阶梯行的总行数。n 是一个非负整数,并...
斐波那契数列的三种解法
斐波那契数列 求取斐波那契数列第N位的值。 斐波那契数列:前两位数字是固定的0和1,后面每一位的值等于他前两位数字之和。0,1,1,2,3,5,8…… 解法一:暴力递归...
使用双指针算法解决“两数之和”问题(最优解)
题目:两数之和 描述:给定一个升序排列的整数数组numbers,从数组中找出两个数满足相加之和等于目标数target。 注意:假设每个输入只对应唯一的答案,而且不...