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算法分析
力扣
leetcode
每日一题 222. 完全二叉树的节点个数
别问,问就是dfsclassSolution{public:intcountNodes(TreeNode*root){if(root==NULL
一头特立独行的驴
·
2024-02-08 16:01
力扣题目
二叉树
leetcode
算法
LeetCode
222. 完全二叉树的节点个数
1题目描述给你一棵完全二叉树的根节点root,求出该树的节点个数。完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第h层,则该层包含1~2h个节点。示例1:输入:root=[1,2,3,4,5,6]输出:6示例2:输入:root=[]输出:0示例3:输入:root=[1]输出:1来源:力扣(L
Alfred_XiaJL
·
2024-02-08 16:01
算法
leetcode
算法
完全二叉树的节点个数
完全二叉树的节点个数 - 力扣(
LeetCode
)
题目描述给你一棵完全二叉树的根节点root,求出该树的节点个数。完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第h层,则该层包含1~2h个节点。题目示例输入:root=[1,2,3,4,5,6]输出:6解题思路在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面
maybe_za
·
2024-02-08 16:27
leetcode
算法
数据结构
2021/01/04 每日一题 斐波那契数
LeetCode
上斐波那契数,简单难度重拳出击,记录下解题思路反正斐波那契数前三位是固定的011,直接给定个前3个数的数组,然后后面循环出整个数列,并且返回对应位置的数,利用了缓存。
Taec0123
·
2024-02-08 15:56
leetCode
二叉树的堂兄弟节点
题目描述在二叉树中,根节点位于深度0处,每个深度为k的节点的子节点位于深度k+1处。如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。我们给出了具有唯一值的二叉树的根节点root,以及树中两个不同节点的值x和y。只有与值x和y对应的节点是堂兄弟节点时,才返回true。否则,返回false。示例1:输入:root=[1,2,3,4],x=4,y=3输出:false示例2:输入:ro
望 望
·
2024-02-08 14:10
leetcode
算法
【双端队列】【维护单调队列】
Leetcode
239 滑动窗口最大值【难】
【双端队列】
Leetcode
239滑动窗口最大值双端队列的操作解法1利用双端队列实现单调队列---------------题目链接
Leetcode
239滑动窗口最大值------------------
苹果就叫不呐呐
·
2024-02-08 14:18
Leetcode
leetcode
算法
数据结构
java
职场和发展
【优先级队列(大顶堆 小顶堆)】【遍历哈希表键值对】
Leetcode
347 前K个高频元素
【优先级队列(大顶堆小顶堆)】【排序】
Leetcode
347前K个高频元素1.不同排序法归纳2.大顶堆和小顶堆3.PriorityQueue操作4.PriorityQueue的升序(默认)与降序5.问题解决
苹果就叫不呐呐
·
2024-02-08 14:18
Leetcode
散列表
leetcode
数据结构
java
算法
开发语言
【栈】【字符串和int类型转化】
Leetcode
150 逆波兰表达式求值
【栈】【字符串和int类型转化】
Leetcode
150逆波兰表达式求值解法1栈---------------题目链接
Leetcode
150逆波兰表达式求值-------------------解法1栈字符串转化为
苹果就叫不呐呐
·
2024-02-08 14:48
Leetcode
leetcode
算法
java
职场和发展
程序人生
【递归】【前序中序后序遍历】【递归调用栈空间与二叉树深度有关】【斐波那契数】
Leetcode
94 144 145
【递归】【前序中序后序遍历】【递归调用栈空间与二叉树深度有关】
Leetcode
941441451.前序遍历(递归)preorder2.中序遍历(递归)inorder3.后序遍历(递归)postorder4
苹果就叫不呐呐
·
2024-02-08 14:44
Leetcode
leetcode
算法
职场和发展
排序算法
java
代码随想录
Leetcode
46. 全排列
题目:代码(首刷自解2024年2月6日):classSolution{private:vector>res;vectorpath;public:voidbacktracking(vector&nums,intdepth,vector&used){if(depth==nums.size()){res.push_back(path);return;}for(inti=0;i>permute(vecto
meeiuliuus
·
2024-02-08 14:44
#
leetcode
---medium
前端
算法
javascript
leetcode
2641.二叉树的堂兄弟的节点
题目链接2641.二叉树的堂兄弟节点II-力扣(
LeetCode
)解题思路题目要求将二叉树中每个节点的值都替换成所有堂兄弟节点和,而堂兄弟节点就是指那些和当前节点深度相同,但是父节点不同的节点。
杜阿福
·
2024-02-08 13:02
算法
leetcode
-hot100树的专题
230.二叉搜索树中的第K小的元素题目链接230.二叉搜索树中第K小的元素-力扣(
LeetCode
)解题思路#Definitionforabinarytreenode.
杜阿福
·
2024-02-08 13:32
leetcode
算法
职场和发展
二叉树专题
二叉树遍历题目链接94.二叉树的中序遍历-力扣(
LeetCode
)解题思路#Definitionforabinarytreenode.
杜阿福
·
2024-02-08 13:02
python
[每日一题]141.Linked List Cycle(链表)
链接:https://
leetcode
.com/problems/linked-list-cycle/141.LinkedListCycle.png题目的意思就是输入一个链表,然后判断链表是否构成了环状结构
何学诚
·
2024-02-08 13:00
Leetcode
2841. 几乎唯一子数组的最大和
Everydaya
Leetcode
题目来源:2841.几乎唯一子数组的最大和解法1:滑动窗口看到「长度固定的子数组」就要想到滑动窗口。
UestcXiye
·
2024-02-08 12:51
Every
day
a
LeetCode
C++
数据结构与算法
leetcode
滑动窗口
哈希
Leetcode
2840. 判断通过操作能否让字符串相等 II
Everydaya
Leetcode
题目来源:2840.判断通过操作能否让字符串相等II解法1:哈希用两个哈希表cnt1和cnt2分别统计字符串s1和s2奇偶下标的字符的出现次数。
UestcXiye
·
2024-02-08 12:50
Every
day
a
LeetCode
哈希算法
散列表
算法
C++
leetcode
Leetcode
第 382 场周赛题解
Leetcode
第382场周赛题解
Leetcode
第382场周赛题解题目1:3019.按键变更的次数思路代码复杂度分析题目2:3020.子集中元素的最大数量思路代码复杂度分析题目3:3021.Alice
UestcXiye
·
2024-02-08 12:20
Every
day
a
LeetCode
leetcode
C++
数据结构与算法
双指针
哈希
数学
位运算
Leetcode
3020. 子集中元素的最大数量
Everydaya
Leetcode
题目来源:3020.子集中元素的最大数量解法1:哈希+枚举用一个哈希表统计数组nums中的元素及其出现次数。
UestcXiye
·
2024-02-08 12:19
Every
day
a
LeetCode
leetcode
C++
数据结构与算法
枚举
哈希
[
leetcode
] 29. 两数相除
文章目录题目描述解题方法倍增java代码复杂度分析题目描述给你两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和取余运算。整数除法应该向零截断,也就是截去(truncate)其小数部分。例如,8.345将被截断为8,-2.7335将被截断至-2。返回被除数dividend除以除数divisor得到的商。注意:假设我们的环境只能存储32位有符号整数,其数值范围是
会飞的大鱼人
·
2024-02-08 12:10
leetcode
算法
java
数据结构
[
leetcode
] 30. 串联所有单词的子串
文章目录题目描述解题方法滑动窗口java代码复杂度分析相似题目题目描述给定一个字符串s和一个字符串数组words。words中所有字符串长度相同。s中的串联子串是指一个包含words中所有字符串以任意顺序排列连接起来的子串。例如,如果words=["ab","cd","ef"],那么"abcdef","abefcd","cdabef","cdefab","efabcd",和"efcdab"都是串联
会飞的大鱼人
·
2024-02-08 12:10
leetcode
算法
java
数据结构
[
leetcode
] 28. 找出字符串中第一个匹配项的下标
文章目录题目描述解题方法方法一:双指针java代码复杂度分析方法二:KMP算法java代码复杂度分析题目描述给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从0开始)。如果needle不是haystack的一部分,则返回-1。示例1:输入:haystack="sadbutsad",needle="sad"输出:0解释:"s
会飞的大鱼人
·
2024-02-08 12:09
leetcode
算法
java
数据结构
[
leetcode
] 23. 合并 K 个升序链表
文章目录题目描述解题方法方法一:顺序合并java代码复杂度分析方法二:使用小根堆合并java代码复杂度分析相似题目题目描述给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例1:输入:lists=[[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[1->4->5,1->3->4,2->6]将它
会飞的大鱼人
·
2024-02-08 12:39
链表
数据结构
leetcode
算法
java
[
leetcode
] 25. K 个一组翻转链表
文章目录题目描述解题方法方法一:迭代java代码复杂度分析相似题目题目描述给你链表的头节点head,每k个节点一组进行翻转,请你返回修改后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。示例1:输入:head=[1,2,3,4,5],k=2输出:[2,1,4,3,5]示例
会飞的大鱼人
·
2024-02-08 12:39
leetcode
链表
算法
java
数据结构
[
leetcode
] 31. 下一个排列
文章目录题目描述解题方法两遍扫描java代码复杂度分析题目描述整数数组的一个排列就是将其所有成员以序列或线性顺序排列。例如,arr=[1,2,3],以下这些都可以视作arr的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1]。整数数组的下一个排列是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的下一个排列就是在这个有
会飞的大鱼人
·
2024-02-08 12:08
leetcode
算法
数据结构
java
滑动窗口经典问题(算法村第十六关白银挑战)
最长字串专题无重复字符的最长子串3.无重复字符的最长子串-力扣(
LeetCode
)给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。
陈星泽SSR
·
2024-02-08 12:07
算法村
算法
堆与滑动窗口的结合(算法村第十六关黄金挑战)
滑动窗口最大值239.滑动窗口最大值-力扣(
LeetCode
)给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。
陈星泽SSR
·
2024-02-08 12:07
算法村
算法
leetcode
第206题反转链表❤
示例1:输入:head=[1,2,3,4,5]输出:[5,4,3,2,1]题目链接:力扣(
LeetCode
)官网-全球极客挚爱的技术成长平台二:解题思路这道题我们可以用迭代或递归地反转链表。
大鹏蓄力中
·
2024-02-08 11:35
链表
数据结构
LeetCode
简单题:53. 最大子序和(Python,C++,Java)
一.解法https://
leetcode
-cn.com/problems/maximum-subarray/要点:dp动态规划注意转移方程为v[i]=max(v[i-1]+nums[i],nums[i]
好莱坞守门员
·
2024-02-08 10:35
算法6:贪心
6.1分饼干
LeetCode
No.455问题描述:要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。
HYIndex
·
2024-02-08 09:29
【学习笔记】编码能力
基于
leetCode
题库分类,练习编码能力和算法1、语言基础知识汇总1.1c语言1.2c++1.3Makefile1.4汇编语言1.5python1.6shell1.7正则表达式1.8数据库2、基本2.1
踏流星
·
2024-02-08 09:00
学习
数据结构
算法
知识图谱
每日一题——
LeetCode
1417.重新格式化字符串
方法一个人方法:s里的字符只有小写字母和数字两种情况,我们可以把s里的字母和数字分隔成两个字符串,比较两个字符串的长度,只有当两个字符串的长度差值的绝对值为1或0才能满足题意。长度更长的要放在结果字符串的第一位,然后交替拼接。varreformat=function(s){letcharStr='',numStr='',resStr=''for(letcharofs){if(char>='a'&&
zbsnzj
·
2024-02-08 08:06
每日一题
javascript
leetcode
算法
每日一题——
LeetCode
1422.分割字符串的最大得分
方法一暴力枚举枚举所有分割点的情况,取最大得分varmaxScore=function(s){letres=0;constn=s.length;for(leti=1;imax){max=score0+score1}}returnmax};消耗时间和内存情况:
zbsnzj
·
2024-02-08 08:06
每日一题
算法
javascript
leetcode
《剑指 Offer》专项突破版 - 面试题 35 : 最小时间差(两种方法 + C++ 实现)
目录前言一、排序二、数组前言题目链接:LCR035.最小时间差-力扣(
LeetCode
)题目:给定一组范围在00:00至23:59的时间,求任意两个时间之间的最小时间差(以分钟数表示)。
melonyzzZ
·
2024-02-08 07:59
数据结构
c++
算法
数据结构
面试
Leetcode
.303. 区域和检索 - 数组不可变
Leetcode
.303.区域和检索-数组不可变难度:easy思路:最容易想到的是通过for循环来扫描统计,但这样的话每次检索的时间复杂度都是O(n),检索次数很多的话效率不高。
Chamberlain T
·
2024-02-08 06:45
LeetCode
#
前缀和
#
数组
leetcode
算法
leetcode
-303 区域和检索 - 数组不可变 [Java]
类别:题目:法一:直接计算代码:classNumArray{int[]nums;publicNumArray(int[]nums){this.nums=nums;}publicintsumRange(intleft,intright){intsum=0;for(inti=left;i<=right;i++){sum+=nums[i];}returnsum;}}/***YourNumArrayobj
学习机器:
·
2024-02-08 06:45
leetcode-Code
java
leetcode
算法
LeetCode
491 递增序列
给定一个整型数组,你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。示例:输入:[4,6,7,7]输出:[[4,6],[4,7],[4,6,7],[4,6,7,7],[6,7],[6,7,7],[7,7],[4,7,7]]说明:给定数组的长度不会超过15。数组中的整数范围是[-100,100]。给定数组中可能包含重复数字,相等的数字应该被视为递增的一种情况。和一般的去重不一致的是,由
whp404
·
2024-02-08 06:45
leetcode
算法
leetcode
71. Simplify Path
题目一开始想着用类似于split("\s+")这种的,发现没有,那就单个"/"划分吧,把空格的地方后期处理一下就行。因为StringBuilder的reverse是整个每个字符串都要翻转,所以要用到两个StackclassSolution{publicStringsimplifyPath(Stringpath){String[]str=path.split("/");Stackstack=newS
爱打篮球的憨憨
·
2024-02-08 06:45
leetcode
medium
leetcode
21:合并两个有序链表
解题思路首先创建一个dummy节点,这个节点用于返回目标链表。创建一个while循环。循环的终止体条件为l1、l2两个链表其中一个为null。循环内部逻辑:如果l1的值小于l2的值,就将current.next节点的值指向l1,且更新l1为l1.next,反之current.next取l2的值,且更新l2为l2.nextfunctionListNode(val,next){this.val=val
coder_MX
·
2024-02-08 06:15
leetcode
链表
javascript
leetcode
-单词规律
290.单词规律题解:可以使用哈希表来解决这个问题。首先,将pattern中的每个字符映射到一个不同的整数,然后将字符串s中的每个单词也映射到相应的整数。如果两个映射关系相同,则说明s遵循相同的规律。具体步骤如下:创建一个空的哈希表,用于存储pattern中的字符和字符串s中的单词之间的映射关系。遍历pattern,对于每个字符,将其映射到一个整数。可以使用一个计数器来生成唯一的整数。遍历字符串s
独孤--蝴蝶
·
2024-02-08 06:44
leetcode
leetcode
-3的幂
326.3的幂题解:要判断一个整数是否是3的幂次方,我们可以使用循环或递归的方法。首先,我们需要处理一些特殊情况,例如当n为0时,返回false;当n为1时,返回true。然后,我们可以通过不断地将n除以3来判断它是否是3的幂次方。如果在某一步中,n不能被3整除,那么n就不是3的幂次方。如果n最终变为1,那么它就是3的幂次方。classSolution:defisPowerOfThree(self
独孤--蝴蝶
·
2024-02-08 06:44
leetcode
leetcode
-Nim 游戏
292.Nim游戏题解:Nim游戏是一个数学问题,也被称为尼姆游戏。在这个问题中,两个人轮流从一堆石头中取走1-3块石头,谁最后取走最后一块石头,谁就获胜。如果给定的石头数量是4的倍数,那么先手的人就会输,否则就会赢。这是因为,无论先手的人怎么取,后手的人都可以采取最优策略,使得每次取走的石头数量总和为4,这样就能保证最后剩下的石头数量是4的倍数。所以,我们只需要判断给定的石头数量是否是4的倍数即
独孤--蝴蝶
·
2024-02-08 06:44
leetcode
leetcode
-移动零
283.移动零题解:使用双指针法(快慢指针),快指针指向的数字不为0的时候,将这个数字移到慢指针的地方,最后在后面补0即可classSolution:defmoveZeroes(self,nums:List[int])->None:"""Donotreturnanything,modifynumsin-placeinstead."""slow=0forfastinrange(len(nums)):
独孤--蝴蝶
·
2024-02-08 06:13
leetcode
LeetCode
- 303 区域和检索 - 数组不可变 (设计 前缀和数组)
classNumArray{privateint[]preSum;publicNumArray(int[]nums){intn=nums.length;preSum=newint[n+1];for(inti=0;i
三岁就很萌@D
·
2024-02-08 06:12
设计
leetcode
leetcode
算法
排序算法
Leetcode
303. 区域和检索 - 数组不可变
题目描述给定一个整数数组nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i、j两点。实现NumArray类:NumArray(int[]nums)使用数组nums初始化对象intsumRange(inti,intj)返回数组nums从索引i到j(i≤j)范围内元素的总和,包含i、j两点(也就是sum(nums[i],nums[i+1],…,nums[j]))来源:力扣(LeetCod
无名小卒一枚
·
2024-02-08 06:41
LeetCode
C++
数组
简单
每日一题
LeetCode
21. 合并两个有序链表
题目描述:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4,1->3->4输出:1->1->2->3->4->4这道题目有两种解决方法,第一种是暴力解决,利用两个循环将其中一个链表中的节点一个一个地插入到另一个链表中,代码如下:/***Definitionforsingly-linkedlist.*structListNode{
MagnumLu
·
2024-02-08 06:11
刷题总结
LeetCode
合并两个有序链表
LeetCode
303(区域和检索 - 数组不可变)
菜鸟成长逆袭之旅,爱好撸铁和撸代码,有强制的约束力,希望通过自己的努力做一个高品质人Worktogetherandmakeprogresstogether区域和检索-数组不可变给定一个整数数组nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i,j两点。示例:给定nums=[-2,0,3,-5,2,-1],求和函数为sumRange()sumRange(0,2)->1sumRange(
AI算法工程师YC
·
2024-02-08 06:11
LeetCode
leetcode
区域和检索-数组不可变
Leetcode
-303 区域和检索-数组不可变
题目描述:给定一个整数数组nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i、j两点。实现NumArray类:NumArray(int[]nums)使用数组nums初始化对象intsumRange(inti,intj)返回数组nums从索引i到j(i≤j)范围内元素的总和,包含i、j两点(也就是sum(nums[i],nums[i+1],...,nums[j]))示例:输入:["Nu
qq_39622795
·
2024-02-08 06:11
Leetcode
leetcode
Leetcode
303-区域和检索-数组不可变
文章目录区域和检索-数组不可变题目描述code区域和检索-数组不可变题目描述给定一个整数数组nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i,j两点。示例:给定nums=[-2,0,3,-5,2,-1],求和函数为sumRange()sumRange(0,2)->1sumRange(2,5)->-1sumRange(0,5)->-3codeclassNumArray{private
123.56.119.133:8090
·
2024-02-08 06:41
leetcode
LeetCode303
区域和检索-数组不可变
LeetCode
—— 区域和检索 - 数组不可变
题目:给定一个整数数组nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i,j两点。示例:给定nums=[-2,0,3,-5,2,-1],求和函数为sumRange()sumRange(0,2)->1sumRange(2,5)->-1sumRange(0,5)->-3说明:你可以假设数组不可变。会多次调用sumRange方法。思路:最简单的思路就是每次调用sumRange都根据i和j来
如是雨林
·
2024-02-08 06:41
算法题
Leetcode
-区域和检索 - 数组不可变(303)
题目描述给定一个整数数组nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i、j两点。实现NumArray类:NumArray(int[]nums)使用数组nums初始化对象intsumRange(inti,intj)返回数组nums从索引i到j(i≤j)范围内元素的总和,包含i、j两点(也就是sum(nums[i],nums[i+1],…,nums[j]))代码classNumArr
莫陌莫墨
·
2024-02-08 06:41
算法刷题
leetcode
算法
前缀和
上一页
36
37
38
39
40
41
42
43
下一页
按字母分类:
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
其他