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
题解 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
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
题解
粒子群优化算法和强化算法的优缺点对比,以表格方式进行展示。详细解释
以下是它们的优缺点对比,以表格的形式展示:特性粒子群优化算法(PSO)强化学习算法(RL)算法类型优化
算法学习
算法主要用途全局优化问题,寻找最优解学习和决策问题,优化策略以最大化长期奖励计算复杂度较低,
资源存储库
·
2024-08-25 09:44
笔记
笔记
代码随想录训练营第四十三天 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
笔记
算法
Golang |
Leetcode
Golang题解之第371题两整数之和
题目:题解:funcgetSum(a,bint)int{forb!=0{carry:=uint(a&b)<<1a^=bb=int(carry)}returna}
__AtYou__
·
2024-08-24 10:23
经验分享
Golang
Leetcode
题解
【Hot100】
LeetCode
—104. 二叉树的最大深度
目录1-思路队列——层序遍历2-实现⭐104.二叉树的最大深度——题解思路3-ACM实现原题连接:104.二叉树的最大深度1-思路队列——层序遍历1-借助队列实现层序遍历Queuequeue=newLinkedListres=newArrayListqueue=newLinkedList0){TreeNodenowNode=queue.poll();if(nowNode.left!=null)qu
山脚ice
·
2024-08-24 06:29
#
Hot100
leetcode
算法
【
LeetCode
每日一题】——1046.最后一块石头的重量
文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】一【题目类别】优先队列二【题目难度】简单三【题目编号】1046.最后一块石头的重量四【题目描述】有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块最重的石头,然后将它们一起粉碎。假设石头的重量分别为x和y,且xpQueue=newPriori
IronmanJay
·
2024-08-24 06:26
LeetCode
算法
1046.最后一块石头的重量
数据结构
LeetCode
堆
优先队列
大顶堆
备战秋招60天算法挑战,Day8
题目链接:https://
leetcode
.cn/problems/find-minimum-in-rotated-sorted-array/视频题解:https://www.bilibili.com/
华南溜达虎
·
2024-08-24 05:48
数据结构与算法
算法
备战秋招60天算法挑战,Day11
题目链接:https://
leetcode
.cn/problems/longest-substring-without-repeating-characters/视频题解:https://www.bilibili.com
华南溜达虎
·
2024-08-24 05:48
数据结构与算法
算法
数据结构
备战秋招60天算法挑战,Day6
题目链接:https://
leetcode
.cn/problems/best-time-to-buy-and-sell-stock/视频题解:https://b23.tv/MDoza2J
LeetCode
121
华南溜达虎
·
2024-08-24 05:18
数据结构与算法
算法
每日一题_1310.子数组异或查询
leetcode
每日一题image.png注意:如果是暴力做法的话,是会超时的,应该考虑异或的性质性质1:,性质2:异或通常都是使用异或和来解决问题,观察下图可以建立如下prefix(前缀数组)image.png
Dmm
·
2024-08-24 05:13
LeetCode
209. 长度最小的子数组(JAVA)
题目给定一个含有n个正整数的数组和一个正整数s,找出该数组中满足其和≥s的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回0。示例:输入:s=7,nums=[2,3,1,2,4,3]输出:2解释:子数组[4,3]是该条件下的长度最小的连续子数组。进阶:如果你已经完成了O(n)时间复杂度的解法,请尝试O(nlogn)时间复杂度的解法。解题思路publicintminSubAr
freesan44
·
2024-08-24 05:42
备战秋招60天算法挑战,Day24
题目链接:https://
leetcode
.cn/problems/sum-of-two-integers/视频题解:https://www.bilibili.com/video/BV1RZ421K7YF
华南溜达虎
·
2024-08-24 04:15
数据结构与算法
算法
数据结构
java
c++
python
约瑟夫环问题(模板题,递推,树状数组,双端队列)
文章目录最后活的人(递推)[LCR187.破冰游戏](https://
leetcode
.cn/problems/yuan-quan-zhong-zui-hou-sheng-xia-de-shu-zi-lcof
匪石1
·
2024-08-24 00:52
算法
约瑟夫环
数学
[
LeetCode
]160.相交链表(python)
1.代码classSolution:defgetIntersectionNode(self,headA:ListNode,headB:ListNode)->Optional[ListNode]:ifnotheadAornotheadB:returnNonepoint1=headApoint2=headBhas_switched1=Falsehas_switched2=Falseintersecti
xyhaaab
·
2024-08-23 21:58
leetcode
链表
python
leetcode
80:删除有序数组中的重复项II
leetcode
80:删除有序数组中的重复项II给你一个有序数组nums,请你**原地**删除重复出现的元素,使每个元素最多出现两次,返回删除后数组的新长度。
Yingmu__
·
2024-08-23 21:58
leetcode
leetcode
同字母异序词 python_
Leetcode
练习(Python):哈希表类:第49题:字母异位词分组:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。...
原博文2020-04-2810:54−题目:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。说明:所有输入均为小写字母。不考虑答案输出的顺序。思路:使用sort()将单词排序。程序:classSolution:de...0289相关推荐2019-12-2122:18−题目概述题目:力扣:58.最后一个单词的长度难易:简单内容:给定一个仅包含大小写字母和空格''
weixin_39596975
·
2024-08-23 21:57
同字母异序词
python
算法学习
6——贪心算法
什么是贪心算法?贪心算法是一种在每一步选择中都采取当前状态下最优或最有利的选择的算法。其核心思想是通过一系列局部最优选择来达到全局最优解。贪心算法广泛应用于各种优化问题,如最短路径、最小生成树、背包问题等。贪心算法的特点局部最优选择:每一步都做出在当前情况下最优的选择。无后效性:一旦某个状态被确定,就不会再被改变或回溯。逐步构造解决方案:通过一系列的选择逐步构建出最终的解决方案。经典例子及其Pyt
零 度°
·
2024-08-23 21:25
算法学习
算法
学习
贪心算法
LeetCode
——49 字母异位词分组
来源:力扣(
LeetCode
)链接:https://
leetcode
-cn
qq_34732729
·
2024-08-23 20:55
LeetCode解题报告
LeetCode
49. 字母异位词分组
49.字母异位词分组Medium题目描述:给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。示例1:输入:strs=["eat","tea","tan","ate","nat","bat"]输出:[["bat"],["nat","tan"],["ate","eat","tea"]]示例
FXiaoHang
·
2024-08-23 20:24
LeetCode
算法
数据结构
leetcode
Leetcode
-删除有序数组中的重复项(C++)
一、题目给你一个非严格递增排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。然后返回nums中唯一元素的个数。考虑nums的唯一元素的数量为k,你需要做以下事情确保你的题解可以被通过:更改数组nums,使nums的前k个元素包含唯一元素,并按照它们最初在nums中出现的顺序排列。nums的其余元素与nums的大小不重要。返回k
小刘在努力v
·
2024-08-23 20:53
leetcode学习
leetcode
算法
数据结构
【每日刷题Day85】
【每日刷题Day85】个人主页:开敲所属专栏:每日刷题文章目录1.125.验证回文串-力扣(
LeetCode
)2.43.字符串相乘-力扣(
LeetCode
)3.557.反转字符串中的单词III-力扣(
LeetCode
开敲
·
2024-08-23 18:42
每日刷题
算法
数据结构
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
其他