E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
leetcode树形结构
快速上手 STL中 map 和 set 的使用
1.set和map简介map和set都是
树形结构
的关联式容器,其底层都以红黑树(一种平衡二叉搜索树)作为底层结构。
手捧向日葵的花语
·
2024-08-26 17:34
C/C++
c++
leetcode
73. 矩阵置零,简单模拟
leetcode
73.矩阵置零给定一个mxn的矩阵,如果一个元素为0,则将其所在行和列的所有元素都设为0。请使用原地算法。
Cider瞳
·
2024-08-26 15:53
力扣刷题
矩阵
线性代数
数据结构
算法
c++
leetcode
面试
突破编程:C++中的组合模式(Composite Pattern)
突破编程:C++中的组合模式(CompositePattern)在软件设计领域,组合模式(CompositePattern)是一种结构型设计模式,它允许你将对象组合成
树形结构
以表示“部分-整体”的层次结构
天蓝蓝23528
·
2024-08-26 11:53
c++
组合模式
开发语言
[
LeetCode
][Python]485. 最大连续1的个数
[
LeetCode
][Python]485.最大连续1的个数给定一个二进制数组,计算其中最大连续1的个数。
bluescorpio
·
2024-08-26 11:55
数据结构与算法——滑动窗口
目录引言核心思想使用场景解题步骤经典例题1、无重复字符的最长子串(
LeetCode
3)2、找到字符串中所有字母异位词(
LeetCode
438)引言定义:滑动窗口是指通过左右两个指针(或索引)来标记窗口的左右边界
passion更好
·
2024-08-26 06:26
C++
数据结构
数据结构
算法
数据结构与算法——动态规划
目录引言最优子结构重叠子问题打家劫舍(
LeetCode
198题)经典例题1.爬楼梯(
LeetCode
70题)2.斐波那契数列(
LeetCode
126题)3.最长公共子序列(
LeetCode
95题)引言动态规划
passion更好
·
2024-08-26 06:54
数据结构
C++
动态规划
算法
数据结构与算法之
leetcode
78. 子集
78.子集/***@param{number[]}nums*@return{number[][]}*/varsubsets=function(nums){letans=[],path=[],n=nums.lengthletdfs=(i)=>{if(i==n){ans.push(JSON.parse(JSON.stringify(path)))return}dfs(i+1)åpath.push(nu
Three_ST
·
2024-08-26 04:13
leetcode
JavaScript
数据结构
leetcode
算法
职场和发展
数据结构与算法之
leetcode
17. 电话号码的字母组合
17.电话号码的字母组合/***@param{string}digits*@return{string[]}*/varletterCombinations=function(digits){letmap=['','','abc','def','ghi','jkl','mno','pqrs','tuv','wxyz']letlen=digits.lengthif(len==0){return[]}l
Three_ST
·
2024-08-26 04:43
leetcode
笔记
JavaScript
leetcode
算法
职场和发展
链表
32 - I. 从上到下打印二叉树
comments:truedifficulty:中等edit_url:https://github.com/doocs/
leetcode
/edit/main/lcof/%E9%9D%A2%E8%AF%95%
常某某的好奇心
·
2024-08-26 03:36
算法
数据结构:189(轮转数组)
leetcode
(OJ)
给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。示例1:输入:nums=[1,2,3,4,5,6,7],k=3输出:[5,6,7,1,2,3,4]解释:向右轮转1步:[7,1,2,3,4,5,6]向右轮转2步:[6,7,1,2,3,4,5]向右轮转3步:[5,6,7,1,2,3,4]示例2:输入:nums=[-1,-100,3,99],k=2输出:[3,99,-1,-10
LG.YDX
·
2024-08-26 00:18
数据结构
算法
leetcode
leetcode
-面试题55 - I. 二叉树的深度
//来源:力扣(
LeetCode
)//链接:https://
leetcode
-cn.com/p
qianzi_wei
·
2024-08-26 00:46
leetcode
算法
leetcode
二叉树
代码随想录算法训练营第22天-
leetcode
-二叉树08:669. 修剪二叉搜索树;108.将有序数组转换为二叉搜索树;538.把二叉搜索树转换为累加树
669.修剪二叉搜索树力扣题目链接(opensnewwindow)给定一个二叉搜索树,同时给定最小边界L和最大边界R。通过修剪二叉搜索树,使得所有节点的值在[L,R]中(R>=L)。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。分析:需要遍历整棵树,因为父节点被删除或者保留,子节点都有可能删除或者保留;父节点被删除时,左子树和右子树只可能保留一个我的做法:后序遍历每个节
树懒爱沙发
·
2024-08-25 19:16
算法
leetcode
职场和发展
leetcode
刷题(20)——538. 把二叉搜索树转换为累加树
一、题目给定一个二叉搜索树(BinarySearchTree),把它转换成为累加树(GreaterTree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。例如:二、思路——递归累加树,是将每个节点的值改为原来的节点值加上所有大于它的节点值之和。而二叉搜索树的中序遍历的结果是从小到大排列的,比如,给定一个二叉搜索树如下:这棵树中序遍历的结果为2,3,4,5,6,7,8由中序遍历结果我们
TheManba
·
2024-08-25 19:46
leetcode刷题
二叉树
leetcode
LeetCode
——538. 把二叉搜索树转换为累加树(反中序遍历)
题目描述:解题思路:这道题首先要搞懂二叉搜索树是什么。二叉搜索树是一棵空树,或者是具有下列性质的二叉树:若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值;若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值;它的左、右子树也分别为二叉搜索树。可见,二叉搜索树是一个有序的树,这道题其实如果改成数组很好理解,[2,5,13]让你通过累加变成[20,18,13],变成二叉树之后,我们
悲伤的小霉
·
2024-08-25 19:14
LeetCode
二叉树
数据结构
算法
LeetCode
538.把二叉搜索树转换为累加树 C++递归 (简单)
538.将二叉搜索树转为累加树递归C++实现题目描述解题思路——反序中序遍历代码复杂度反思总结题目描述给定一个二叉搜索树(BinarySearchTree),把它转换成为累加树(GreaterTree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。例如:解题思路——反序中序遍历二叉搜索树:右节点的值比根节点大,左节点的值比根节点小。需要依此遍历每个节点并且修改它的值。关键:按照从大到
EllenWang99
·
2024-08-25 19:14
LeetCode
leetcode
cpp
二叉树
递归法
数据结构
【
LeetCode
题库】2356. 每位教师所教授的科目种类的数量
文章目录原题题解解题笔记我是一名立志把细节说清楚的博主,欢迎【关注】~原创不易,如果有帮助,记得【点赞】【收藏】哦~❥(^_-)~如有错误、疑惑,欢迎【评论】指正探讨,我会尽可能第一时间回复的,谢谢支持原题表:Teacher+-------------+------+|ColumnName|Type|+-------------+------+|teacher_id|int||subject_id
我梦Leo
·
2024-08-25 19:42
LeetCode题库
leetcode
算法
mysql
sql
数据库
LeetCode
——538. 把二叉搜索树转换为累加树
题目描述:给出二叉搜索树的根节点,该树的节点值各不相同,请你将其转换为累加树(GreaterSumTree),使每个节点node的新值等于原树中大于或等于node.val的值之和。提醒一下,二叉搜索树满足下列约束条件:节点的左子树仅包含键小于节点键的节点。节点的右子树仅包含键大于节点键的节点。左右子树也必须是二叉搜索树。示例1:输入:[4,1,6,0,2,5,7,null,null,null,3,
讲个笑话哈哈哈
·
2024-08-25 18:41
JAVA
leetcode
二叉树
leetcode
题解 hot100 系列 146.LRU 缓存算法
146.LRU缓存算法题目:请你设计并实现一个满足LRU(最近最少使用)缓存约束的数据结构。实现LRUCache类:LRUCache(intcapacity)以正整数作为容量capacity初始化LRU缓存intget(intkey)如果关键字key存在于缓存中,则返回关键字的值,否则返回-1。voidput(intkey,intvalue)如果关键字key已经存在,则变更其数据值value;如果
城南顾北
·
2024-08-25 18:10
#
hot100
前端
算法
leetcode
【Hot100】
LeetCode
—124. 二叉树中的最大路径和
目录1-思路dfs深搜实现2-实现⭐124.二叉树中的最大路径和——题解思路3-ACM实现题目连接:124.二叉树中的最大路径和1-思路理解dfs的返回值,为什么只能是root.val+Math.max(left,right)因为遍历的过程中只能从上到下,选择一条路径dfs深搜实现①终止条件:如果root==null则返回0②递归公式sum=root.val+left+right;res=Math
山脚ice
·
2024-08-25 18:39
#
Hot100
leetcode
算法
职场和发展
LRU缓存算法
1.LRU算法
leetcode
146题要求:请你设计并实现一个满足LRU(最近最少使用)缓存约束的数据结构。函数get和put必须以O(
猿系人生
·
2024-08-25 18:39
缓存
数据结构
算法
leetcode
hot 100-146. LRU缓存机制
146.LRU缓存机制运用你所掌握的数据结构,设计和实现一个LRU(最近最少使用)缓存机制。它应该支持以下操作:获取数据get和写入数据put。获取数据get(key)-如果关键字(key)存在于缓存中,则获取关键字的值(总是正数),否则返回-1。写入数据put(key,value)-如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字/值」。当缓存容量达到上限时,它应该在写入
Lucky小黄人
·
2024-08-25 18:39
链表
java
redis
缓存
数据结构
LeetCode
Hot100 146.LRU缓存
classLRUCache{public:intcapacity;intsize;unordered_map::iterator>>hash;listq;//backasbottom,frontastopLRUCache(intcapacity){this->capacity=capacity;}intget(intkey){if(hash.find(key)==hash.end())return
doglc
·
2024-08-25 18:08
LeetCode每日刷题记录
#
LeetCode中等题
leetcode
哈希算法
0710,0711
leetcode
刷题小结
暑期目标:刷100题,当前进度:2.8题其中:简单题记0.5题;中等题记0.8题;困难题记1.5题;07.10题目数量:简单题*2,进度1/100[231]2的幂,判断一个数是否为2的幂我的解法:使用位运算把输入与1求“&”,并加在count中(即,若为1,则+1,若为0,则不变)把输入右移一位:>>,继续重复上一步,直至该数为0-1特殊处理若count<2(即对应二进制数的补码仅有一位是1),则
全方位小白
·
2024-08-25 16:03
mysql 遍历二叉树_二叉树的三种遍历方式(前序、中序、后序)
树形结构
是计算机科学中一种经典的数据结构。从前端编程当中UI界面层级结构,到java中的HashMap,到MySQL中的数据存储,到操作系统底层文件系统等等,这些都涉及到
树形结构
。
nnllc
·
2024-08-25 15:51
mysql
遍历二叉树
Leetcode
62:不同路径(Ⅰ和Ⅱ)
目录
Leetcode
62:不同路径Ⅰ题目描述思路分析
Leetcode
63:不同路径Ⅱ题目描述代码实现
Leetcode
62:不同路径Ⅰ题目描述思路分析解法一:动态规划publicintuniquePaths1
Sparky*
·
2024-08-25 12:33
算法
leetcode
435:无重叠区间
无重叠区间给定一个区间的集合intervals,其中intervals[i]=[starti,endi]。返回需要移除区间的最小数量,使剩余区间互不重叠。publicinteraseOverlapIntervals(int[][]intervals){Arrays.sort(intervals,(o1,o2)->{returno1[0]-o2[0];});intcount=0;intcover=i
0cfjg0
·
2024-08-25 12:32
leetcode
java
leetcode
139. 单词拆分,动态规划
leetcode
139.单词拆分给你一个字符串s和一个字符串列表wordDict作为字典。如果可以利用字典中出现的一个或多个单词拼接出s则返回true。
Cider瞳
·
2024-08-25 12:02
力扣刷题
动态规划
算法
数据结构
leetcode
c++
面试
leetcode
112. 路径总和 &
leetcode
113. 路径总和II,图文并茂,教你完全弄懂DFS,附详细代码
leetcode
112.路径总和给你二叉树的根节点root和一个表示目标和的整数targetSum。判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和targetSum。
Cider瞳
·
2024-08-25 12:02
力扣刷题
深度优先
算法
c++
面试
链表
数据结构
dfs
LeetCode
62:不同路径
题目描述一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?代码classSolution{public:/*dp[i][j]的含义:从[0,0]出发到达[i,j]位置有多少条路线递推公式:dp[i][j]=dp[i-1][j]+dp[i][j-1]初
一个小猴子`
·
2024-08-25 11:30
LeetCode
算法
动态规划
leetcode
【
LeetCode
】:62:不同路径
classSolution{public:intuniquePaths(intm,intn){vector>dp(m,vector(n));dp[0][0]=1;for(inti=0;i>dp(m,vector(n));for(inti=0;i
@每日一练
·
2024-08-25 11:28
刷题
leetcode
算法
数据结构
leetcode
62:不同路径
leetcode
62不同路径一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。
0cfjg0
·
2024-08-25 11:28
leetcode
java
算法
Golang |
Leetcode
Golang题解之第373题查找和最小的K对数字
题目:题解:funckSmallestPairs(nums1,nums2[]int,kint)(ans[][]int){m,n:=len(nums1),len(nums2)//二分查找第k小的数对和left,right:=nums1[0]+nums2[0],nums1[m-1]+nums2[n-1]+1pairSum:=left+sort.Search(right-left,func(sumint
__AtYou__
·
2024-08-25 09:14
经验分享
Golang
Leetcode
题解
数据结构之并查集
虽然并查集是一种
树形结构
,但是其底层的实现和堆一样是一个数组。这个数组的大小就
我要学编程(ಥ_ಥ)
·
2024-08-25 07:00
数据结构(Java版)
数据结构
Java
算法
代码随想录训练营第四十三天 300最长递增子序列 674最长连续递增序列
第一题:原题连接:300.最长递增子序列-力扣(
LeetCode
)子序列:数组不需要连续首先通过本题大家要明确什么是子序列,“子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序
愤怒的小阿淇这就开摆
·
2024-08-25 07:29
代码随想录训练营
leetcode
leetcode
--111--二叉树的最小深度
题目:给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例1:image.png输入:root=[3,9,20,null,null,15,7]输出:2示例2:输入:root=[2,null,3,null,4,null,5,null,6]输出:5提示:树中节点数的范围在[0,105]内-1000left);intright=
minningl
·
2024-08-25 05:35
(贪心)
LeetCode
45. 跳跃游戏 II
原题链接一.题目描述给定一个长度为n的0索引整数数组nums。初始位置为nums[0]。每个元素nums[i]表示从索引i向前跳转的最大长度。换句话说,如果你在nums[i]处,你可以跳转到任意nums[i+j]处:0=n-1,说明此时可以到达终点,直接break即可。(2)如果大于等于,说明可以到达终点,直接break即可。最后只需要返回res的值即可。一下是代码随想录中的一个代码执行流程图,大
原来你也是码农
·
2024-08-25 03:05
LeetCode
贪心算法
数据结构
leetcode
算法
贪心算法
c++
(贪心)
LeetCode
135. 分发糖果
原题链接一.题目描述n个孩子站成一排。给你一个整数数组ratings表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果:每个孩子至少分配到1个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。请你给每个孩子分发糖果,计算并返回需要准备的最少糖果数目。示例1:输入:ratings=[1,0,2]输出:5解释:你可以分别给第一个、第二个、第三个孩子分发2、1、2颗糖果。示例2:输入:ratin
原来你也是码农
·
2024-08-25 03:05
贪心算法
LeetCode
leetcode
算法
数据结构
c++
贪心算法
(贪心 + 双指针)
LeetCode
455. 分发饼干
原题链接一.题目描述假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸s[j]。如果s[j]>=g[i],我们可以将这个饼干j分配给孩子i,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例1:输入:g=[1,2,3],s=[1
原来你也是码农
·
2024-08-25 03:35
贪心算法
LeetCode
leetcode
算法
数据结构
c++
贪心算法
职场和发展
LeetCode
-79-单词搜索(Word Search)
LeetCode
-79-单词搜索(WordSearch)79.单词搜索难度中等908收藏分享切换为英文接收动态反馈给定一个mxn二维字符网格board和一个字符串单词word。
蒋斌文
·
2024-08-25 03:05
LeetCode
123:买卖股票的最佳时机Ⅲ
题目描述给定一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成两笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。代码/*dp[i]:dp[i][0]不操作dp[i][1]第一次持有:分两种情况,今天之前已经买入或今天买入dp[i][2]第一次卖出:分两种情况,今天之前已经卖出或今天卖出dp[i][3]第二次买入
一个小猴子`
·
2024-08-25 02:02
LeetCode
算法
leetcode
动态规划
C++
数据结构
(贪心)
LeetCode
1005. K 次取反后最大化的数组和
原题链接一.题目描述给你一个整数数组nums和一个整数k,按以下方法修改该数组:选择某个下标i并将nums[i]替换为-nums[i]。重复这个过程恰好k次。可以多次选择同一个下标i。以这种方式修改数组后,返回数组可能的最大和。示例1:输入:nums=[4,2,3],k=1输出:5解释:选择下标1,nums变为[4,-2,3]。示例2:输入:nums=[3,-1,0,2],k=3输出:6解释:选择
原来你也是码农
·
2024-08-25 02:30
LeetCode
贪心算法
数据结构
leetcode
算法
c++
「数组」逆序对 /
LeetCode
LCR 170(C++)
目录前置知识概述思路算法过程复杂度Code前置知识在本篇文章之前,你应该先掌握归并排序的基本技巧,详见:「数组」归并排序/if语句优化|小区间插入优化(C++)概述
LeetCode
LCR076:在股票交易中
Daking-
·
2024-08-25 01:21
「数组」
#
「数组::枚举」
leetcode
算法
leetcode
400. 第N个数字(python)
题目链接题目描述:在无限的整数序列1,2,3,4,5,6,7,8,9,10,11,…中找到第n个数字。注意:n是正数且在32为整形范围内(n<231)。示例1:输入:3输出:3示例2:输入:11输出:0说明:第11个数字在序列1,2,3,4,5,6,7,8,9,10,11,…里是0,它是10的一部分。解题思路:1.先确定第n个数字所在的数字是几位数的1-9是一位数10-189是两位数(9+(99-
洛洛洛洛洛洛洛
·
2024-08-24 23:14
leetcode
LeetCode
leetcode
242:有效的字母异位词
有效的字母异位词给定两个字符串*s*和*t*,编写一个函数来判断*t*是否是*s*的字母异位词。**注意:**若*s*和*t*中每个字符出现的次数都相同,则称*s*和*t*互为字母异位词。publicbooleanisAnagram(Strings,Stringt){HashMapmap=newHashMap<>();for(inti=0;i
0cfjg0
·
2024-08-24 23:13
leetcode
java
开发语言
[
LeetCode
笔记]965. 单值二叉树
/*965.单值二叉树如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回true;否则返回false。示例1:输入:[1,1,1,1,1,null,1]输出:true示例2:输入:[2,2,2,5,2]输出:false提示:给定树的节点数范围是[1,100]。每个节点的值都是整数,范围为[0,99]。*//***Definitionforabinary
Mo_Jianjun
·
2024-08-24 23:10
LeetCode笔记
leetcode
算法
C语言 |
Leetcode
C语言题解之第371题两整数之和
题目:题解:intgetSum(inta,intb){intc;while(b){c=(unsignedint)(a&b)<<1;a^=b;b=c;}returna;}
DdddJMs__135
·
2024-08-24 19:48
分享
C语言
Leetcode
题解
C语言 |
Leetcode
C语言题解之第274题H指数
题目:题解:inthIndex(int*citations,intcitationsSize){intleft=0,right=citationsSize;intmid=0,cnt=0;while(left>1;cnt=0;for(inti=0;i=mid){cnt++;}}if(cnt>=mid){//要找的答案在[mid,right]区间内left=mid;}else{//要找的答案在[0,m
DdddJMs__135
·
2024-08-24 18:48
分享
C语言
Leetcode
题解
C语言 |
Leetcode
C语言题解之第49题字母异位词分组
题目:题解:/*1.将字符串原串与副本进行绑定成一个节点2.对字符串副本进行按ascii码表进行从小到大排序3.按照字符串进行比较排序4.合并*/typedefstructNode{char*s;char*s_vice;intlen;}Node;voidsortShellChar(char*s,intlen){for(intdistance=len/2;distance!=0;distance/=
DdddJMs__135
·
2024-08-24 18:48
分享
C语言
Leetcode
题解
【
LeetCode
刷题笔记】10.有序数组的平方 11.长度最小的子数组
10.有序数组的平方(977)题目给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9,16,100]示例2:输入:nums=[-7,-3,2,3,11]输出:[4,9,9,49,121]
COTAS
·
2024-08-24 16:36
LeetCode刷题笔记
leetcode
笔记
算法
【
LeetCode
刷题笔记】6.移除元素(27)
题目给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以**「引用」**方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操
COTAS
·
2024-08-24 16:06
LeetCode刷题笔记
leetcode
笔记
算法
上一页
7
8
9
10
11
12
13
14
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他