leetcode
勤奋的Kevin
andriod开发工程师, 广州大学 本科
展开
-
2379. 得到 K 个黑块的最少涂色次数
【代码】2379. 得到 K 个黑块的最少涂色次数。原创 2023-03-09 21:59:00 · 181 阅读 · 0 评论 -
平衡二叉树的插入,删除与查找
平衡二叉树与二叉搜索树不同之处是结点结构里多了平衡因子balance factor : 绝对值(左子树的高度-右子树的高度)定义要么是二叉搜索树要么是空树左右子树的高度差不超过一左右子树都是平衡二叉树高度的定义叶结点高度为 1树的高度等于左子树高度与右子树高度的最大值操作1. 插入平衡二叉树插入结点后可能会导致失衡此时就要调整离插入结点最近的失衡的树 , 失衡的四种情况有不同的应对方式左单旋 : 失衡的树的左子树的左子树比较高让 leftHeight-1, r原创 2021-04-04 22:20:26 · 184 阅读 · 0 评论 -
剑指 Offer 59 - II. 队列的最大值
剑指 Offer 59 - II. 队列的最大值请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value 需要返回 -1示例 1:输入: ["MaxQueue","push_back","push_back","max_value","pop_front","max_value"][[],[1],[2],[],[],[]]输出:原创 2021-02-28 15:16:56 · 115 阅读 · 0 评论 -
剑指 Offer 45. 把数组排成最小的数
剑指 Offer 45. 把数组排成最小的数输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例 1:输入: [10,2]输出: “102”示例 2:输入: [3,30,34,5,9]输出: “3033459”方法一 : 插入排序 (要使用特殊的比较方式)class Solution {public: string minNumber(vector<int>& nums) { // 插入排序原创 2021-02-28 15:14:33 · 55 阅读 · 0 评论 -
剑指 Offer 30. 包含min函数的栈
剑指 Offer 30. 包含min函数的栈定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); --> 返回 -3.minStack.pop();minStack.top(原创 2021-02-28 15:09:39 · 59 阅读 · 0 评论 -
450. 删除二叉搜索树中的节点
450. 删除二叉搜索树中的节点给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点可分为两个步骤:首先找到需要删除的节点;如果找到了,删除它。说明: 要求算法时间复杂度为 O(h),h 为树的高度。示例:root = [5,3,6,2,4,null,7]key = 3 5/ 3 6/ \ 2 4 7给定需要删除的节点值是 3原创 2021-02-28 15:09:10 · 77 阅读 · 0 评论 -
剑指 Offer 32 - II. 从上到下打印二叉树 II
剑指 Offer 32 - II. 从上到下打印二叉树 II解法一 : 递归/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public List<List&原创 2021-02-21 23:43:17 · 66 阅读 · 0 评论 -
2、两数相加 C语言实现(leetcode)
两数相加给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -...原创 2020-05-06 22:12:51 · 2723 阅读 · 3 评论