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-
字母异位词分组
题目给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的所有字母得到的一个新单词。示例1:输入:strs=[“eat”,“tea”,“tan”,“ate”,“nat”,“bat”]输出:[[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]示例2:输入:strs=[“”]输出:[[“”]]示例3:输入:strs=
一叶知秋@qqy
·
2024-02-13 05:28
leetcode
算法
职场和发展
二叉树 Leetcode 965 单值二叉树
来源:力扣(LeetCode)链接:https://
leetcode-
禾木清清
·
2024-02-10 22:39
LeetCode-
第15题-三叔之和
1.题目描述给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。2.样例描述3.思路描述先将nums排序,时间复杂度为O(NlogN)O(NlogN)O(NlogN)。固定333个指针中最
果蛋蛋
·
2024-02-09 22:28
LeetCode
leetcode
算法
java
LeetCode-
第28题-找出字符串中第一个匹配项的下标
1.题目描述给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从0开始)。如果needle不是haystack的一部分,则返回-1。2.样例描述3.思路描述可以让字符串needle与字符串haystack的所有长度为mmm的子串均匹配一次。为了减少不必要的匹配,每次匹配失败即立刻停止当前子串的匹配,对下一个子串继续匹配。如果
果蛋蛋
·
2024-02-09 22:56
LeetCode
leetcode
算法
职场和发展
java
leetcode-
比特位计数
338.比特位计数题解:这道题其实就是将范围[0,n]之间的数字转换成二进制,然后统计每个数字对应的二进制中1的个数classSolution:defcountBits(self,n:int)->List[int]:res=[]foriinrange(n+1):res.append(bin(i).count("1"))returnres
独孤--蝴蝶
·
2024-02-09 14:48
leetcode
【
LeetCode-
中等】49. 字母异位词分组(详解)
题目给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次题目地址:https://leetcode.cn/problems/group-anagrams方法1:排序+哈希表作者:力扣官方思路:因为每一组字母异位词的字母,将它转换成字符数组,再排序之后都是一样的,例如“eat”排序之后是“a
丨康有为丨
·
2024-02-09 03:43
LeetCode刷题
leetcode
算法
职场和发展
leetcode-
单词规律
290.单词规律题解:可以使用哈希表来解决这个问题。首先,将pattern中的每个字符映射到一个不同的整数,然后将字符串s中的每个单词也映射到相应的整数。如果两个映射关系相同,则说明s遵循相同的规律。具体步骤如下:创建一个空的哈希表,用于存储pattern中的字符和字符串s中的单词之间的映射关系。遍历pattern,对于每个字符,将其映射到一个整数。可以使用一个计数器来生成唯一的整数。遍历字符串s
独孤--蝴蝶
·
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)
题目描述给定一个整数数组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
算法
前缀和
Leetcode-
区域和检索 - 数组不可变
65.区域和检索-数组不可变题目内容:代码及思路:classNumArray{public:vectornum;NumArray(vector&nums){for(inti=0;isumRange(i,j);*/
chestnutllin
·
2024-02-08 06:08
Leetcode编程题
Leetcode-
区域和检索-数组不可变
描述:给定一个整数数组nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i,j两点。说明:可以假设数组不可变;会多次调用区间和sumRange方法示例:给定nums=[-2,0,3,-5,2,-1],求和函数为sumRange()sumRange(0,2)->1sumRange(2,5)->-1sumRange(0,5)->-3方法1:暴力求解(一般都会超过时间限制)每次调用区间求和方
codingjav
·
2024-02-08 06:08
数据结构与算法
Java学习
leetCode
算法
数据结构
java
数学
leetcode-
区域和检索 - 数组可修改
给你一个数组nums,请你完成两类查询。其中一类查询要求更新数组nums下标对应的值另一类查询要求返回数组nums中索引left和索引right之间(包含)的nums元素的和,其中left0){ans+=sums[i];i-=last(i);}returnans;}privateintlast(inta){returna&(-a);}publicvoidupdate(intindex,intval
程序员小2
·
2024-02-08 06:08
leetcode-数组
LeetCode
leetcode
Leetcode-
区域和检索,数组不可变C++实现
给定一个整数数组nums,处理以下类型的多个查询:计算索引left和right(包含left和right)之间的nums元素的和,其中leftn;NumArray(vector&nums){n=nums;}intsumRange(intleft,intright){intresult=0;for(inti=left;i<=right;i++){result=result+n[i];}returnr
Vanderbiol
·
2024-02-08 06:07
leetcode
c++
算法
leetcode-
区域和检索 - 数组不可变
303.区域和检索-数组不可变题解:在构造函数中,将传入的数组nums保存到实例变量self.nums中。在sumRange方法中,使用Python内置函数sum对数组nums中索引left和right之间的元素求和,并返回结果。classNumArray:def__init__(self,nums:List[int]):self.nums=numsdefsumRange(self,left:in
独孤--蝴蝶
·
2024-02-08 06:34
leetcode
leetcode-
树】从前序与中序遍历序列构造二叉树
leetcode-
树】从前序与中序遍历序列构造二叉树根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。
程序员小2
·
2024-02-07 16:33
LeetCode-
第171题-Excel表的序列号
1.题目描述给你一个字符串columnTitle,表示Excel表格中的列名称。返回该列名称对应的列序号。例如:A->1B->2C->3...Z->26AA->27AB->28...2.样例描述3.思路描述遍历时将每个字母与A做减法,因为A表示1,所以减法后需要每个数加1,计算其代表的数值num=字母-‘A’+1;因为有26个字母,所以相当于26进制,每26个数则向前进一位4.代码展示classS
果蛋蛋
·
2024-02-07 08:24
LeetCode
leetcode
算法
java
LeetCode-
第2769题-找出最大的可达成数字
1.题目描述给你两个整数num和t。如果整数x可以在执行下述操作不超过t次的情况下变为与num相等,则称其为可达成数字:每次操作将x的值增加或减少1,同时可以选择将num的值增加或减少1。2.样例描述3.思路描述当xxx为最大的可达成数字时,应满足ttt次操作都是num\textit{num}num的值增加且xxx的值减少,在ttt次操作之后的两个数字都是num+t\textit{num}+tnu
果蛋蛋
·
2024-02-06 18:54
LeetCode
leetcode
算法
java
LeetCode-
第160题-相交链表
1.题目描述给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回null。图示两个链表在节点c1开始相交:题目数据保证整个链式结构中不存在环。注意,函数返回结果后,链表必须保持其原始结构。2.样例描述3.思路描述消除两个链表的长度差:指针pA指向A链表,指针pB指向B链表,依次往后遍历;如果pA到了末尾,则pA=headB继续遍历;
果蛋蛋
·
2024-02-06 18:53
LeetCode
leetcode
链表
算法
java
LeetCode-
第2469题=温度转换
1.题目描述给你一个四舍五入到两位小数的非负浮点数celsius来表示温度,以摄氏度(Celsius)为单位。你需要将摄氏度转换为开氏度(Kelvin)和华氏度(Fahrenheit),并以数组ans=[kelvin,fahrenheit]的形式返回结果。返回数组ans。与实际答案误差不超过10-5的会视为正确答案。2.样例描述3.思路描述将温度转换后的数值放入数组中,直接返回。4.代码展示cla
果蛋蛋
·
2024-02-06 18:53
LeetCode
leetcode
算法
数据结构
java
LeetCode-
第876题-链表的中间结点
1.题目描述给你单链表的头结点head,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。2.样例描述3.思路描述创建两个快慢指针slow,fast,起始共同指向头节点,slow每次走一步,fast每次走两步,当fast为空或fast的下一个结点为空时,slow即是中间节点的位置。由于fast每次走两步,slow每次走一步,slow总是落后fast整体一半的长度最终slow理
果蛋蛋
·
2024-02-06 18:50
LeetCode
leetcode
链表
算法
java
力扣
LeetCode-
链表
链表一、链表节点定义//单链表structListNode{ intval; //节点上存储的元素 ListNode*next; //指向下一个节点的指针 ListNode(intx):val(x),next(NULL){} //节点的构造函数};定义一个节点ListNode*head=newListNode(5);二、设置虚拟头结点作用:设置虚拟头结点使对头结点的处理普遍化ListNode
流忆,留宜
·
2024-02-06 14:37
LeetCode
链表
leetcode
算法
LeetCode-
第二题-两数相加
1.题目描述给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0开头。2.样例描述3.思路描述建立一个新的链表,将两个链表的数字赋值给指定变量,定义变量temp存放两数相加之和的余数,将两数和%10存放入新链表,指向下一结点。4.代码展示class
果蛋蛋
·
2024-02-06 07:46
LeetCode
leetcode
算法
职场和发展
java
LeetCode-
【差分解决区间问题】解题技巧
1094.拼车此题关键在于:上车下车先后是固定的,那么可以用差分法,在特定车站上车就+人数,下车就-人数,那么计算,如果出现>capacity就是false;1.所有车站人数初始化为0;2.遍历trips,依次维护上下车各车站人数变化;3.遍历所有车站,累加各个车站人数,出现>>capacity就是false,否则返回true;classSolution(object):defcarPooling
lanzhihui_
·
2024-02-05 07:01
LeetCode
差分法
leetcode
算法
【
LeetCode-
简单】14. 最长公共前缀(详解)
题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。题目地址:https://leetcode.cn/problems/longest-common-prefix/示例方法1:字符串截取比较-前缀由短边长(自己写的)思路前缀从短变长先让数组第一个字符串的前一个字母作为head,让其他字符串的第一个字母与head比较如果大家的第一个字母都相同,那就让head变成第
丨康有为丨
·
2024-02-05 03:29
LeetCode刷题
leetcode
算法
java
leetcode-
回文链表
234.回文链表在此对比的值,不是节点#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,val=0,next=None):#self.val=val#self.next=nextclassSolution:defisPalindrome(self,head:Optional[ListNode])->bool:dummy
独孤--蝴蝶
·
2024-02-04 16:55
leetcode
leetcode-
有效的字母异位词
242.有效的字母异位词classSolution:defisAnagram(self,s:str,t:str)->bool:table=dict()iflen(s)bool:iflen(s)!=len(t):returnFalsereturnsorted(s)==sorted(t)第一种使用的字典,将s中的每个值统计出来,查看t中的每个字符是不是在这个字典中第二种是首先判断其长度,不相等就Fal
独孤--蝴蝶
·
2024-02-04 16:55
leetcode
leetcode-
用栈实现队列
232.用栈实现队列前面有道题是用队列实现栈,本题反过来了,是使用两个栈来模拟队列。题解:我们定义两个栈一个进栈in_stack,一个出栈out_stack,在push数据的时候将数据放入进栈就好,但在pop的时候,先要判断出栈是否为空,若为空的话,就把进栈的数据全部导入进来,再从出栈弹出数据,若出栈不为空,则直接从出栈弹出数据即可。判断进栈和出栈都为空,说明队列为空了。classMyQueue:
独孤--蝴蝶
·
2024-02-04 16:25
leetcode
leetcode-
汇总区间
228.汇总区间题解:这是一个区间合并的问题。我们可以遍历数组,对于每个元素,如果它与前一个元素的差值大于1,那么我们就找到了一个新的区间,将这个区间添加到结果列表中。否则,我们就更新当前区间的结束位置。最后,我们需要处理最后一个区间。classSolution:defsummaryRanges(self,nums:List[int])->List[str]:ifnotnums:return[]r
独孤--蝴蝶
·
2024-02-04 16:52
leetcode
leetcode-
链表专题
25.K个一组翻转链表题目链接25.K个一组翻转链表-力扣(LeetCode)解题思路#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,val=0,next=None):#self.val=val#self.next=nextclassSolution:defreverseKGroup(self,head:Option
杜阿福
·
2024-02-03 18:52
leetcode
链表
算法
Leetcode-
不重复的最长字符串
算法和数据结构什么时候学什么时候新,做过的题再刷的时候感觉还是新的下边这道题原题链接如下longest-substring-without-repeating-charactersGivenastrings,findthelengthofthelongestsubstringwithoutrepeatingcharacters.Example1:Input:s="abcabcbb"Output:3
chuanpeng0130
·
2024-02-03 12:14
leetcode
java
算法
二叉搜索树节点最小距离(C++)
题目来源:
leetcode-
二叉搜索树节点最小距离(序号:783)题目描述:给定一个二叉搜索树的根节点root,返回树中任意两节点的差的最小值。
CS_Kevin_1
·
2024-02-02 11:43
笔记
【
leetcode-
树】二叉树的序列化与反序列化
【
leetcode-
树】二叉树的序列化与反序列化序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据
程序员小2
·
2024-02-01 21:58
去除重复字母
题目:去除重复字母(
LeetCode-
困难)给你一个仅包含小写字母的字符串,请你去除字符串中重复的字母,使得每个字母只出现一次。
大橘猪猪侠
·
2024-02-01 20:57
leetcode-
存在重复元素
217.存在重复元素把列表转成集合,我们知道集合中是没有重复元素的,然后和原列表的长度做对比,不相等说明是有重复元素的classSolution:defcontainsDuplicate(self,nums:List[int])->bool:iflen(set(nums))==len(nums):returnFalseelse:returnTrue
独孤--蝴蝶
·
2024-01-31 13:29
leetcode
leetcode-
存在重复元素 II
219.存在重复元素II题解:可以使用哈希表来解决这个问题。遍历数组,对于每个元素,检查它是否已经在哈希表中出现过,如果出现过,则判断当前索引与哈希表中存储的索引之差是否小于等于k,如果是,则返回true;否则,将当前元素及其索引存入哈希表中。如果遍历完整个数组都没有找到满足条件的两个索引,则返回false。classSolution:defcontainsNearbyDuplicate(self
独孤--蝴蝶
·
2024-01-31 13:29
leetcode
LeetCode-
树-层序遍历-完全二叉树插入器
1简介完全二叉树特点:(1)叶子结点都在最底下的两层;(2)最后一层的叶子结点都靠左排列,即中间没有空洞;(3)除最后一层外,其他层的节点个数都要达到最大;2相关题目2.1完全二叉树插入器919.完全二叉树插入器剑指OfferII043.往完全二叉树添加节点这里实际上就是进行了层序遍历,代码具体如下:classCBTInserter{private:TreeNode*r;public:CBTIns
hclbeloved
·
2024-01-31 13:28
#
LeetCode-树
leetcode
leetcode-
完全二叉树的节点个数
222.完全二叉树的节点个数题解:使用递归的方法来解决这个问题。完全二叉树的节点个数可以通过以下公式计算:节点个数=左子树节点个数+右子树节点个数+1(根节点)首先,我们需要定义一个辅助函数countNodes(root)来计算以root为根节点的子树的节点个数。然后,我们可以使用递归的方法来计算完全二叉树的节点个数。#Definitionforabinarytreenode.#classTree
独孤--蝴蝶
·
2024-01-31 13:27
leetcode
【
leetcode-
树】不同的二叉搜索树 II
【
leetcode-
树】不同的二叉搜索树II题目:给定一个整数n,生成所有由1...n为节点所组成的二叉搜索树。
程序员小2
·
2024-01-30 04:36
leetcode-
颠倒二进制位
190.颠倒二进制位题解:我们可以使用位运算来解决这个问题。具体步骤如下:初始化一个变量res为0,用于存储颠倒后的二进制位。循环32次,每次将n的最低位取出,并将其添加到res的最高位上。将n右移一位,将res左移一位。返回res作为最终结果。classSolution:defreverseBits(self,n:int)->int:res=0foriinrange(32):res=(res>=
独孤--蝴蝶
·
2024-01-29 18:38
leetcode
leetcode-
位1的个数
191.位1的个数题解:我们可以使用位运算来解决这个问题。具体步骤如下:初始化一个变量count为0,用于存储二进制表达式中数字位数为'1'的个数。循环32次,每次将n与1进行按位与运算,如果结果为1,则说明当前位是1,将count加1。将n右移一位。返回count作为最终结果。classSolution:defhammingWeight(self,n:int)->int:count=0for_i
独孤--蝴蝶
·
2024-01-29 18:38
leetcode
leetcode-
快乐数
202.快乐数题解:定义一个函数get_sum(n),用于计算n的每一位数字的平方和。初始化一个集合visited,用于记录已经出现过的数字。循环计算n的每一位数字的平方和,直到n等于1或者出现重复的数字为止。如果n等于1,则返回True,表示n是快乐数;否则返回False,表示n不是快乐数。classSolution:defisHappy(self,n:int)->bool:defget_sum
独孤--蝴蝶
·
2024-01-29 18:38
leetcode
leetcode-
移除链表元素
203.移除链表元素题解:创建一个虚拟头结点指向头结点head,定义一个cur指针指向这个虚拟头结点,因为是单向链表,每次判断的时候只能使用当前指针cur的next节点值和给定值进行判断,所以循环判断的终止条件是cur.next!=None。#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,val=0,next=Non
独孤--蝴蝶
·
2024-01-29 18:38
leetcode
leetcode-
买卖股票的最佳时机
121.买卖股票的最佳时机为了解决这个问题,你需要找到价格数组中最低点和最高点的最大差值,但要确保最高点在最低点之后。你可以通过遍历价格数组一次来完成这个操作:初始化一个变量min_price为一个非常大的数,它将跟踪你遍历过的价格中的最小值。初始化一个变量max_profit为0,它将跟踪可实现的最大利润。遍历价格数组prices。对于每个价格,你都会:更新min_price为当前价格和min_
独孤--蝴蝶
·
2024-01-29 18:07
leetcode
leetcode-
反转链表
206.反转链表题解:定义两个指针prev和cur,分别指向当前节点的前一个节点和当前节点,初始时,prev为None,cur为head,在遍历的过程中,我们需要创建一个临时指针用来指向cur.next,因为cur指向prev之后,就会和cur.next断链了。遍历过程是,每次将cur的next指针执行prev,然后将prev和cur分别向后移动一位,当遍历到尾部时,链表就被反转了,反转后的链表头
独孤--蝴蝶
·
2024-01-29 18:34
leetcode
【
leetcode-
动态规划】矩阵中的最长递增路径
【
leetcode-
动态规划】矩阵中的最长递增路径题目:给定一个整数矩阵,找出最长递增路径的长度。对于每个单元格,你可以往上,下,左,右四个方向移动。
程序员小2
·
2024-01-29 09:41
每天Leetcode 刷题
初级算法
篇-汉明距离
题目要求:力扣题解:循环和位移动代码/***@program:mydemo*@description:汉明距离*@author:Mr.zeng*@create:2021-02-2609:50**/publicclassSolution37{publicinthammingDistance(intx,inty){returnInteger.bitCount(x^y);}}
one 大白(●—●)
·
2024-01-29 07:53
Leetcode
leetcode
算法
汉明距离
学习记录
知识分享
LeetCode-
题目整理【12】:N皇后问题--回溯算法
注意点,语法:=一定要记得初始化内层数组的长度:board[i]=make([]rune,n),否则就会报出现越界的错//第1步,初始化二维数组,内层数组长度为0,外层为nboard:=make([][]rune,n)fori:=0;i=0&&j>=0;i,j=i-1,j-1{ifboard[i][j]=='Q'{returnfalse}}//检查右上方是否有皇后fori,j:=row-1,col
菜鸟要加油!
·
2024-01-28 16:35
算法
leetcode
leetcode-
二叉树层序遍历
question:层序遍历和前中后序遍历的不同在与,后面三者用栈实现,二层序遍历则用队列实现比较块这里引出深度优先搜索DFS和广度优先搜索BFS解题:广度优先搜索BFSclassSolution:#广度优先搜索BFSdeflevelOrder(self,root:TreeNode)->List[List[int]]:queue=[root]#将根节点保存到queue中ans=[]ifnotroot
白舟的博客
·
2024-01-28 11:15
leetcode解法
二叉树
队列
dfs
bfs
leetcode-
双指针
283-移动零给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。方法一:双指针使用双指针,左指针指向当前已经处理好的序列的尾部,右指针指向待处理序列的头部。右指针不断向右移动,每次右指针指向非零数,则将左右指针对应的数交换,同时左指针右移。注意到以下性质:1.左指针左边均为非零数;2.右指针左边直到左指针处均
Emperorist
·
2024-01-28 01:57
数组
双指针
【算法专题】动态规划之简单多状态 dp 问题
删除并获得点数4.粉刷房子5.买卖股票的最佳时机含冷冻期6.买卖股票的最佳时机含手续费7.买卖股票的最佳时机Ⅲ8.买卖股票的最佳时机Ⅳ动态规划---简单多状态dp问题1.按摩师(打家劫舍Ⅰ的变形)题目链接->
Leetcode
YoungMLet
·
2024-01-27 22:45
算法专栏
算法
动态规划
c++
开发语言
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他