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
337 打家劫舍3 树形dp入门
经典的选或者不选问题。这个问题应该是自底向上的一个过程,因为我们最终只看根节点状态就可以知道结果,而不用统计所有底部信息,是较为方便的。之后我们考虑dp数组怎么存,一种使用树形数组存,另外就是dfs过程中存。对于这个题,dfs是一种很方便的方式,前序遍历就很方便,左右处理完后,中间看两边取或者不取的状态的最优值,这个和普通的打家劫舍定义不太一样。普通的一个数就记录了,这边要两个数,还是比较有趣的,
abant2
·
2025-02-11 06:09
动态规划
树
LeetCode
337. 打家劫舍3
题目描述小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为root。除了root之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。给定二叉树的root。返回在不触动警报的情况下,小偷能够盗取的最高金额。涉及tag二叉树-bfs算法思路方法1:本题是一道动
keavykk
·
2025-02-11 06:06
LeetCode题目
每日一题——缺失的第一个整数
题目链接41.缺失的第一个正数-
力扣
(
LeetCode
)(
leetcode
-cn.com)题目描述给你一个未排序的整数数组nums,请你找出其中没有出现的最小的正整数。
gch12138
·
2025-02-11 06:36
每日一题
leetcode
c++
1024程序员节
设计循环队列---
力扣
622
1、题目1.1基础设置与讲解循环队列,即固定长度的队列,可以想象成一个环形队列就类似于这种队列,队尾指针后会有一个空位,用于控制判断队列为空还是为满;typedefintMyDataType;typedefstruct{MyDataTypefront;MyDataTyperear;MyDataType*a;MyDataTypecapacity;}MyCircularQueue;首先将int更名为M
ykcyk
·
2025-02-11 04:55
leetcode
算法
职场和发展
力扣
622(设计循环队列)
力扣
622(设计循环队列)设计你的循环队列实现。循环队列是一种线性数据结构,其操作表现基于FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。
奋斗&&奋进
·
2025-02-11 04:24
LeetCode
leetcode
数据结构
算法
Queue
leetcode
_80. 删除有序数组中的重复项 II
leetcode
_80.删除有序数组中的重复项II
leetcode
链接题目描述给你一个有序数组nums,请你**原地**删除重复出现的元素,使得出现次数超过两次的元素只出现两次,返回删除后数组的新长度。
Ethan_.
·
2025-02-11 04:50
leetcode面试题150
算法
leetcode
算法
力扣
622. 设计循环队列
题目设计你的循环队列实现。循环队列是一种线性数据结构,其操作表现基于FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。你的实现应该支持如下操作:MyCircularQu
冷酷的摸鱼小将
·
2025-02-11 04:20
力扣
leetcode
算法
数据结构
力扣
622.设计循环队列
力扣
622.设计循环队列通过数组索引构建一个虚拟的首尾相连的环当front=rear时队列为空当front=rear+1时队列为满(最后一位不存)classMyCircularQueue{intfront
阳光男孩01
·
2025-02-11 03:47
leetcode
算法
职场和发展
【
LeetCode
刷题】贪心算法(3)-序列问题
此博客为《代码随想录》贪心算法章节的学习笔记,主要内容为贪心算法序列问题的相关题目解析。文章目录376.摆动序列738.单调递增的数字53.最大子序和122.买卖股票的最佳时机II376.摆动序列题目链接classSolution:defwiggleMaxLength(self,nums:List[int])->int:n=len(nums)ifnnums[i-1]:trend=1res+=1re
Bran_Liu
·
2025-02-11 03:46
LeetCode
leetcode
贪心算法
算法
python
每日一题之 删除有序数组中的重复项I和II
来源:
力扣
(LeetCo
诺坎普的骄傲
·
2025-02-11 02:42
leetcode
成长历程
【
LeetCode
每日一题】80. 删除有序数组中的重复项 II
【
LeetCode
每日一题】80.删除有序数组中的重复项II今日题目80题,每日一题微信交流群可以点击右下角:合作转载->联系我,拉你入群。
guangcheng0312q
·
2025-02-11 02:37
leetcode
数据结构
算法
python
java
位运算(典型算法思想)—— OJ例题算法解析思路
目录一、面试题01.01.判定字符是否唯一-
力扣
(
LeetCode
)运算代码:1.鸽巢原理的优化代码片段:设计思路:2.位图(BitMap)的设计代码片段:设计思路:3.字符到位的映射代码片段:设计思路
Exhausted、
·
2025-02-11 02:04
算法
算法
开发语言
c语言
c++
力扣
面试
LeetCode
Python - 80. 删除有序数组中的重复项 II
目录题目描述解法运行结果题目描述给你一个有序数组nums,请你原地删除重复出现的元素,使得出现次数超过两次的元素只出现两次,返回删除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下://
xuxu1116
·
2025-02-11 00:25
LeetCode题库
leetcode
python
算法
leetcode
3:无重复字符的最长子串
示例1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。示例2:输入:s="bbbbb"输出:1解释:因为无重复字符的最长子串是"b",所以其长度为1。示例3:输入:s="pwwkew"输出:3解释:因为无重复字符的最长子串是"wke",所以其长度为3。请注意,你的答案必须是子串的长度,"pwke"是一个子序列,不是子串。提示:0occ=newHa
今天学点啥6
·
2025-02-11 00:19
算法学习
算法
后端
java
python-
leetcode
-删除有序数组中的重复项
26.删除有序数组中的重复项classSolution:defremoveDuplicates(self,nums:List[int])->int:ifnotnums:return0k=1#指向下一个唯一元素存放的位置foriinrange(1,len(nums)):ifnums[i]!=nums[i-1]:#只需比较当前和前一个元素nums[k]=nums[i]k+=1returnk
Joyner2018
·
2025-02-11 00:18
python
leetcode
算法
职场和发展
LeetCode
-移除元素、删除有序数组中的重复项
LeetCode
-移除元素、删除有序数组中的重复项移除元素数组暴力for循环双指针法双指针(快慢指针)双指针优化(对撞指针)【快慢指针】26.删除有序数组中的重复项务必清晰理解记忆每个变量、每个函数的定义
Emily_ASL
·
2025-02-11 00:48
python
leetcode
算法
python
Leetcode
刷题笔记题解(C++):小红书. 倒卖战利品
讲一下思路吧,把宝物作为一个结构体,含有x和h属性,将结构体数组依x按从小到大进行排序,如果x相等,则y小的靠前一点,然后完成了排序。接着在y排序中寻找最长递增的序列长度。(题目意思可能是没有两个x,h都相等的宝物,如果有还要多考虑一下)代码如下:#include#include#includeusingnamespacestd;intmax_length(vector&vec);structba
Demo.demo
·
2025-02-10 23:42
Leetcode算法题解
c++
算法
排序算法
数据结构
leetcode
102. 二叉树的层序遍历-java实现
题目所属分类BFS层序遍历的模板原题链接给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。代码案例:输入:root=[3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]题解简单的BFS模板但是要注意的是len=q.size()如果没有的话for循环里面直接为q.size()会导致结果有出入q的范围会随着下面的if左右节点还
依嘫_吃代码
·
2025-02-10 19:46
LeetCode
leetcode
java
算法
Leetcode
problems classified by company 题目按公司分类(Last updated: October 2, 2017)
Sortedbyfrequencyofproblemsthatappearinrealinterviews.Lastupdated:October2,2017Google(214)534DesignTinyURL388LongestAbsoluteFilePath683KEmptySlots340LongestSubstringwithAtMostKDistinctCharacters681Nex
lightwindy
·
2025-02-10 19:15
LeetCode
LeetCode
leetcode
102. 二叉树的层序遍历python
问题描述:题解:此题的基本是对一个二叉树进行层序遍历。二叉树层序遍历可以通过队列实现:维护一个队列queue(python中通过list实现)和保存遍历结果的listres。如果根节点root不为空,则加入queue,初始化时queue中只有根节点一个。取出queue第一个节点记node将node.val加入res如果node左子节点不为空,加入queue。如果node右子节点不为空,加入queu
岗岗ganggang
·
2025-02-10 19:14
leetcode树
算法
python
leetcode
二叉树
力扣
206 反转链表 记录
题目给你单链表的头节点head,请你反转链表,并返回反转后的链表。示例1:输入:head=[1,2,3,4,5]输出:[5,4,3,2,1]示例2:输入:head=[1,2]输出:[2,1]示例3:输入:head=[]输出:[]代码classSolution{public:ListNode*reverseList(ListNode*head){ListNode*temp;//保存cur的下一个节点
楚洋的小跟班
·
2025-02-10 17:34
leetcode
链表
算法
力扣
160 相交链表
给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回null。publicclassSolution{publicListNodegetIntersectionNode(ListNodeheadA,ListNodeheadB){ListNodep=headA;ListNodeq=headB;while(p!=q){p=p!=null
format_push
·
2025-02-10 17:34
leetcode
链表
算法
leetcode
_深度搜索和广度搜索 100. 相同的树
100.相同的树给你两棵二叉树的根节点p和q,编写一个函数来检验这两棵树是否相同。如果两棵树在结构上相同,并且节点具有相同的值,则认为它们是相同的。思路:(递归法)返回True的情况:两棵树都为空两棵树相同返回False的情况:两棵树不为空但节点分布不同或节点值不同不相同两棵树有一个为空注:先判断是否为空,再判断节点值是否相同-#Definitionforabinarytreenode.#clas
MiyamiKK57
·
2025-02-10 17:33
leetcode
算法
职场和发展
leetcode
_字符串 459. 重复的子字符串
459.重复的子字符串给定一个非空的字符串s,检查是否可以通过由他的一个子串重复多次构成思路:首先判断字符串s是否为空或长度是否为1,若满足这两种条件,则说明不存在子字符串,返回False遍历所有可能的子串(从长度为1的子串开始遍历)如果存在子串a使得len(s)能够整除len(a),则说明该子串a有可能重复多次后能够成为s将子串a重复多次直至和字符串s等长,判断是否相等,相等返回True,否则返
MiyamiKK57
·
2025-02-10 17:03
leetcode
算法
职场和发展
力扣
206:反转链表【C++】
题目分析原题:输入一个链表,反转链表后,输出新链表的表头。分析:题意非常好理解,即把一个单链表逆序。本题需要考虑的主要问题是,如何将单链表逆序。需要特别注意的是,链表所分配到的内存是一段不连续的内存空间,因此对于单一元素的取用非常麻烦。思路分析思路一:堆栈法大家对于堆栈的特性是否了解呢?堆栈的特性是“先入后出”,即先装入的元素会放在堆栈下面,后装入的元素反而在堆栈上面,因此我们可以通过一次存&取的
The Gao
·
2025-02-10 17:32
LeetCode交流
链表
堆栈
数据结构
leetcode
力扣
206反转链表
206.反转链表-
力扣
(
LeetCode
)(
leetcode
-cn.com)structListNode*reverseList(structListNode*head){//实际上是操作三个指针//形参
小白-先森
·
2025-02-10 17:01
力扣刷题
链表
反转
算法
迭代
数据结构
力扣
312场周赛:按身高排序
本文以python为编程语言,题目来源于
力扣
312届周赛题目:给你一个字符串数组names,和一个由互不相同的正整数组成的数组heights。两个数组的长度均为n。
_焱_
·
2025-02-10 17:28
力扣
python
算法
力扣
周赛:第419场周赛
作者简介:爱好技术和算法的研究生上期文章:
力扣
周赛:第415场周赛订阅专栏:
力扣
周赛希望文章对你们有所帮助因为一些特殊原因,这场比赛就打了1h,所以只AC了前面两题。
布布要成为最强的人
·
2025-02-10 16:24
力扣
测试专栏
leetcode
算法
java
lambda
数据结构
Leetcode
152 乘积最大子数组
题目描述:给你一个整数数组nums,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例:输入:[2,3,-2,4]输出:6解释:子数组[2,3]有最大乘积6。思路:动态规划:当前状态依赖于前一状态,如果当前元素是正数,那么希望前一元素也是正的,如果当前元素是负数,那么希望前一元素也是负数。解:classSolution{public:intmaxPr
大翔_
·
2025-02-10 14:07
每日一题
leetcode
算法
力扣
Leetcode
第1534题,统计好三元组的Python解法
Description给你一个整数数组arr,以及a、b、c三个整数。请你统计其中好三元组的数量。如果三元组(arr[i],arr[j],arr[k])满足下列全部条件,则认为它是一个好三元组。0<=i
肥猫_LIL
·
2025-02-10 14:07
leetcode
Leetcode
—1474. 删除链表 M 个节点之后的 N 个节点【简单】Plus
2025每日刷题(212)
Leetcode
—1474.删除链表M个节点之后的N个节点实现代码/***Definitionforsingly-linkedlist.
源代码•宸
·
2025-02-10 14:02
LeetCode刷题
leetcode
链表
算法
C++
经验分享
数据结构
leetcode
:1502. 判断能否形成等差数列(python3解法)
难度:简单给你一个数字数组arr。如果一个数列中,任意相邻两项的差总等于同一个常数,那么这个数列就称为等差数列。如果可以重新排列数组形成等差数列,请返回true;否则,返回false。示例1:输入:arr=[3,5,1]输出:true解释:对数组重新排序得到[1,3,5]或者[5,3,1],任意相邻两项的差分别为2或-2,可以形成等差数列。示例2:输入:arr=[1,2,4]输出:false解释:
Cold_Air丶
·
2025-02-10 14:02
python
算法
leetcode
python
算法
leetcode
:1925. 统计平方和三元组的数目(python3解法)
难度:简单一个平方和三元组(a,b,c)指的是满足a2+b2=c2的整数三元组a,b和c。给你一个整数n,请你返回满足1<=a,b,c<=n的平方和三元组的数目。示例1:输入:n=5输出:2解释:平方和三元组为(3,4,5)和(4,3,5)。示例2:输入:n=10输出:4解释:平方和三元组为(3,4,5),(4,3,5),(6,8,10)和(8,6,10)。提示:1<=n<=250题解:class
Cold_Air丶
·
2025-02-10 14:32
python
算法
leetcode
python
算法
深入理解栈与队列:算法学习者的必备指南
文末附各语言实现模板和
LeetCode
练习题。
m0_dawn
·
2025-02-10 13:30
蓝桥杯
算法
python
leetcode
数据结构
leetcode
152 乘积最大子数组
给你一个整数数组nums,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。测试用例的答案是一个32-位整数。示例1:输入:nums=[2,3,-2,4]输出:6解释: 子数组[2,3]有最大乘积6。示例2:输入:nums=[-2,0,-1]输出:0解释: 结果不能为2,因为[-2,-1]不是子数组。提示:1<=nums.length<=2*104-
青柠檬-hxj
·
2025-02-10 13:29
算法和数据结构
算法
LeetCode
算法题1:二分查找及扩展应用
文章目录前言一、二分查找二、第一个错误的版本三、搜索插入位置总结前言
Leetcode
算法系列:https://
leetcode
-cn.com/study-plan/algorithms/?
消逝者
·
2025-02-10 13:56
LeetCode算法
算法
leetcode
职场和发展
【
LeetCode
】152、乘积最大子数组
【
LeetCode
】152、乘积最大子数组文章目录一、dp1.1dp1.2简化代码二、多语言解法一、dp1.1dp从前向后遍历,当遍历到nums[i]时,有如下三种情况能得到最大值:只使用nums[i]
呆呆的猫
·
2025-02-10 13:24
leetcode
算法
职场和发展
链表-反转链表
代码随想录-刷题笔记LCR024.反转链表-
力扣
(
LeetCode
)还记得之前刚学数据结构那会被这道题吓蒙过,觉得这种题毫无意义,用双向链表可以一次性解决,之后发现这确实是很好的一道运用双...三指针的问题
Hasno.
·
2025-02-10 12:15
链表
数据结构
LeetCode
—279.完全平方数(Perfect Squares)——分析及代码(C++/Java)
LeetCode
—279.完全平方数[PerfectSquares]——分析及代码[C++/Java]一、题目二、分析及代码1.动态规划(1)思路(2)代码(C++)(3)结果(C++)(4)代码(Java
江南土豆
·
2025-02-10 07:59
数据结构与算法
LeetCode
C++
题解
Java
leetcode
[279]完全平方数 Python3实现(动态规划)
#给定正整数n,找到若干个完全平方数(比如1,4,9,16,...)使得它们的和等于n。你需要让组成和的完全平方数的个数最少。##给你一个整数n,返回和为n的完全平方数的最少数量。##完全平方数是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9和16都是完全平方数,而3和11不是。#####示例1:###输入:n=12#输出:3#解释:12=4+4+4#
zhang35
·
2025-02-10 07:29
LeetCode
python
动态规划
算法
leetcode
复原IP地址(
力扣
93)
有了上一道题分割字符串的基础,这道题理解起来就会容易很多。相同的思想我就不再赘述,在这里我就说明一下此题额外需要注意的点。首先是终止条件如何确定,上一题我们递归到超过字符串长度时,则说明字符串已经分割完毕,而这道题根据题意,相当与用‘.’来分割字符串,且出现三个点时就可以结束递归了,那么我们需要一个变量来记录点的个数。另外,在我们判断分割出来的子串是否合法时,最后出现的子串可能为空串,就是说第三个
qy发大财
·
2025-02-10 07:29
leetcode
算法
职场和发展
修剪二叉搜索树(
力扣
669)
这道题还是比较复杂,在递归上与之前写过的二叉树的题目都有所不同。如果当前递归到的子树的父节点不在范围中,我们根据节点数值的大小选择进行左递归还是右递归。为什么找到了不满足要求的节点之后,还要进行递归呢?因为该不满足要求的父节点的子树中可能存在满足要求的节点,我们要不断递归子树寻找这些满足要求的节点并向上返回,直到遇到空节点为止。注意这里递归函数的返回值为指向节点的指针,用来返回满足要求的节点。另外
qy发大财
·
2025-02-10 07:59
leetcode
算法
职场和发展
数据结构
组合(
力扣
77)
从这道题开始,我们正式进入回溯算法的学习。之前在二叉树中只是接触到了一丢丢,而这里我们将使用回溯算法解决很多经典问题。那么这道题是如何使用回溯算法的呢?在讲回溯之前,先说明一下此题是如何递归的。毕竟回溯递归不分家,必须先有递归,才会有回溯。而这里的递归就是在题目所给集合的子集中使用for循环选择数字。考虑组合的无序性(1,2和2,1是相同的组合),那么在对递归得到的子集进行遍历时,需要用变量控制f
qy发大财
·
2025-02-10 07:59
leetcode
算法
职场和发展
数据结构
力扣
LeetCode
: 63 不同路径Ⅱ
题目:给定一个mxn的整数数组grid。一个机器人初始位于左上角(即grid[0][0])。机器人尝试移动到右下角(即grid[m-1][n-1])。机器人每次只能向下或者向右移动一步。网格中的障碍物和空位置分别用1和0来表示。机器人的移动路径中不能包含任何有障碍物的方格。返回机器人能够到达右下角的不同路径数量。测试用例保证答案小于等于2*10^9。示例1:输入:obstacleGrid=[[0,
不想编程小谭
·
2025-02-10 07:58
LeetCode
leetcode
算法
动态规划
c++
力扣
LeetCode
: 1845 座位预约管理系统
题目:请你设计一个管理n个座位预约的系统,座位编号从1到n。请你实现SeatManager类:SeatManager(intn)初始化一个SeatManager对象,它管理从1到n编号的n个座位。所有座位初始都是可预约的。intreserve()返回可以预约座位的最小编号,此座位变为不可预约。voidunreserve(intseatNumber)将给定编号seatNumber对应的座位变成可以预
不想编程小谭
·
2025-02-10 07:57
LeetCode
leetcode
力扣
---28. 找出字符串中第一个匹配项的下标
给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从0开始)。如果needle不是haystack的一部分,则返回-1。示例1:输入:haystack="sadbutsad",needle="sad"输出:0解释:"sad"在下标0和6处匹配。第一个匹配项的下标是0,所以返回0。示例2:输入:haystack="leetco
嗯哼呀吼
·
2025-02-10 07:57
leetcode
算法
【算法练习】
leetcode
每日一题 665. 非递减数列
665.非递减数列难度简单481给你一个长度为n的整数数组,请你判断在最多改变1个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的:对于数组中所有的i(0<=i<=n-2),总满足nums[i]<=nums[i+1]。示例1:输入:nums=[4,2,3]输出:true解释:你可以通过把第一个4变成1来使得它成为一个非递减数列。示例2:输入:nums=[4,2,1]输出:
Let it beSun
·
2025-02-10 07:56
算法练习
力扣
279.完全平方数
题目:给你一个整数n,返回和为n的完全平方数的最少数量。完全平方数是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9和16都是完全平方数,而3和11不是。示例1:输入:n=12输出:3解释:12=4+4+4示例2:输入:n=13输出:2解释:13=4+9提示:1vec(n+1,0);//先将平方数存储起来for(inti=1;idp(n+1,n+1);dp[
Takina541
·
2025-02-10 07:55
leetcode
算法
数据结构
力扣
hot100-双指针
283.移动零题目:给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。示例1:输入:nums=[0,1,0,3,12]输出:[1,3,12,0,0]思想:利用快慢指针将特定元素往后移动,不能让0在慢指针的后面即可defmoveZeroes(self,nums:List[int])->None:"""Donot
行走的小鱼儿
·
2025-02-10 06:55
leetcode
算法
数据结构
leetcode
80:删除有序数组中的重复项||
原题地址:80.删除有序数组中的重复项II-
力扣
(
LeetCode
)题目描述给你一个有序数组nums,请你原地删除重复出现的元素,使得出现次数超过两次的元素只出现两次,返回删除后数组的新长度。
向阳1218
·
2025-02-10 06:24
leetcode
算法
leetcode
上一页
14
15
16
17
18
19
20
21
下一页
按字母分类:
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
其他