- 2024-11-08Leecode热题100-104.二叉树中的最大路径和
二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root ,返回其 最大路径和 。示例
- 2024-11-05Leecode热题100-4.寻找两个正序数组的中位数
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log(m+n)) 。示例1:输入:nums1=[1,3],nums2=[2]输出:2.00000解释:合并数组=[1,2,3],中位数2示例2:输入:nums1=[
- 2024-11-04Leecode热题100-78.子集
给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。示例1:输入:nums=[1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例2:输入:nums=[0]输出:[[],[0]]提
- 2024-10-28Leecode 685. 冗余连接 II
分类讨论:两种情况,一是有节点有两个父节点,二是头尾相连1structUnionFind{2vector<int>ancestor;34UnionFind(intn){5ancestor.resize(n);6for(inti=0;i<n;++i){7ancestor[i]=i;8}9}
- 2024-10-19Leecode热题100-101.对称二叉树
给你一个二叉树的根节点 root ,检查它是否轴对称。示例1:输入:root=[1,2,2,3,4,4,3]输出:true示例2:输入:root=[1,2,2,null,3,null,3]输出:false提示:树中节点数目在范围 [1,1000] 内-100<=Node.val<=100进阶:你可以运用递归和迭代两种方法解决这个问
- 2024-10-15leecode 数据库: 579. 查询员工的累计薪水
表:Employee+-------------+------+|ColumnName|Type|+-------------+------+|id|int||month|int||salary|int|+-------------+------+(id,month)是该表的主键(具有唯一值的列的组合)。表中的每一行表示2020年期间员工
- 2024-10-15leecode 数据库: 1164. 指定日期的产品价格
表:Products+---------------+---------+|ColumnName|Type|+---------------+---------+|product_id|int||new_price|int||change_date|date|+---------------+---------+(product_id,change_date)是此表的主键(具有唯一
- 2024-10-14leecode 数据库: 534. 游戏玩法分析 III
表:Activity+--------------+---------+|ColumnName|Type|+--------------+---------+|player_id|int||device_id|int||event_date|date||games_played|int|+--------------+---------+(player_id,event_date)是此表的
- 2024-10-10【Leecode 随笔】C语言版看了不后悔系列持续更新中。。。
文章目录题目一:两数相除题目描述示例1:示例2:注意:解题思路示例代码深入剖析题目二:加一题目描述示例1:示例2:解题思路示例代码深入剖析题目三:快乐数题目描述示例1:示例2:解题思路示例代码深入剖析
- 2024-10-05Leecode热题100-3.无重复字符最长子串
给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。示例 1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。示例2:输入:s="bbbbb"输出:1解释:因为无重复字符的最长子串是"b",所以其长度为1。
- 2024-10-03Leecode热题100-75.颜色分类
给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地 对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。必须在不使用库内置的sort函数的情况下解决这个问题。示例1:输入:num
- 2024-09-27【Leecode 随笔】C语言版看了不后悔系列持续更新中。。。(四)
文章目录题目一:实现一个函数,计算两个整数的最大公约数(GCD)题目分析:解题思路:示例代码:代码解析:题目二:实现一个函数,判断一个整数是否为素数题目分析:解题思路:示例代码:代码解析:题目三:实现一个函数,对给定的字符串进行排序(按字母顺序)题目分析:解题思路:示例代码:代码解析:
- 2024-09-23leecode 59-螺旋矩阵Ⅱ
leecode59-螺旋矩阵Ⅱ题目解题方法1循环题目给你一个正整数n,生成一个包含1到n^2所有元素,且元素按顺时针顺序螺旋排列的nxn正方形矩阵matrix。示例1输入:n=3输出:[[1,2,3],[8,9,4],[7,6,5]]示例2:输入:n=1输出:[[1]]解题方法1循环题目的要
- 2024-09-21Datawhale Leecode基础算法篇 task02:递归算法and分治算法
官方学习文档:datawhalechina往期task01:枚举算法链接:DatawhaleLeecode基础算法篇task01:枚举算法递归算法递归简介递归(Recursion):指的是一种通过重复将原问题分解为同类的子问题而解决的方法。在绝大数编程语言中,可以通过在函数中再次调用函数自身的方式来实现递归。举
- 2024-09-21Leecode 最大子数组和
思路1:先了解前缀和的概念, ,这题的答案可以转换为:将前缀和pre数组的下标作为x,下标对应的值作为y,建立坐标系得到一条pre折线,找到折现所有最小值与最大值差值最大的(最小值在前最大值在后)值就是本题的答案,也是与买卖股票最佳时机思路一样了思路2:对于以nums[j]元素为结尾的最大
- 2024-09-21Leecode 滑动窗口最大值
使用了双向链表输入:nums=[1,3,-1,-3,5,3,6,7],和k=3输出:[3,3,5,5,6,7]解释过程中队列中都是具体的值,方便理解,具体见代码。初始状态:L=R=0,队列:{}i=0,nums[0]=1。队列为空,直接加入。队列:{1}i=1,nums[1]=3。队尾值为1,3>1,弹出队尾值,加入3。队列:{3}i=2,nums[
- 2024-09-18LeeCode打卡第二十八天
LeeCode打卡第二十八天第一题:路径总和II(LeeCode第437题):给定一个二叉树的根节点root,和一个整数targetSum,求该二叉树里节点值之和等于targetSum的路径的数目。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。解法
- 2024-09-13LeeCode打卡第二十四天
LeeCode打卡第二十四天第一题:对称二叉树(LeeCode第101题):给你一个二叉树的根节点root,检查它是否轴对称。/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(){
- 2024-09-05LeeCode-226. 翻转二叉树
要求给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。如下图所示反转所有左右节点.解题思路与94题类似,采用递归调用遍历子节点。在基本结构中,先调换左右节点,再对左右节点内部递归调用本身。实现代码TreeNode*invertTree(TreeNode*root){if
- 2024-09-04LeeCode-104. 二叉树的最大深度
要求给定一个二叉树root,返回其最大深度。二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。如下图所示的二叉树最大深度为5.解题思路与94题类似,采用递归调用遍历子节点。在基本结构中,节点的最大深度等于根深度(1)加上左右较大深度,左右较大的深度可以
- 2024-09-04LeeCode-94. 二叉树的中序遍历
基本概念二叉树二叉树的结构如上图所示,由一系列左-中-右节点组成的树状数据结构,其基本结构如下所示,由一个中间节点向左右分叉成两个节点,故称二叉树。中序遍历看二叉树基本的结构左-中-右三个节点,中间为Root,左边为Left,右边为Right。按顺序排列的话有C(3,2)=6种,其中左右,
- 2024-09-04LeeCode打卡第十七天
LeeCode打卡第十七天第一题:合并两个有序链表(LeeCode第21题):将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。主要思想:将两个链表从头开始比较,将两个链表中的较小值存入新链表中,比较到最后,有一个链表会先为空,此时需要
- 2024-09-04LeeCode打卡第十八天
LeeCode打卡第十八天第一题:两两交换链表中的节点(LeeCode第24题):给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。主要思想:将两个链表从头开始比较,将两个链表中的较小值存入新链表中,比较
- 2024-09-02LeeCode打卡第十六天(补充题)
补充一题:环形链表II(LeeCode第142题):给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到
- 2024-08-29leecode_049_字母异位词分组解析
题目给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的所有字母得到的一个新单词。示例1:输入:strs=["eat","tea","tan","ate","nat","bat"]输出:[["bat"],["nat","tan"],[&