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
力扣每日一题
【
力扣每日一题
】2023.8.17 切披萨的方案数
目录题目:示例:分析:代码:题目:示例:分析:题目给我们一个二维数组来表示一个披萨,其中‘A’表示披萨上的苹果。让我们切k-1刀,把披萨切成k份,只能横切或是竖切,最终k块披萨都需要拥有有苹果。问我们一共有几种切披萨的方案。我的第一反应就是递归去尝试,不过题目有说答案可能会很大,要取余1000000007,那么递归肯定是会超时的,所以我们应该使用动态规划。因为每次切完披萨,送出去的不是左半边就是上
折途
·
2023-08-17 22:59
力扣每日一题
leetcode
算法
c++
数据结构
【
力扣每日一题
】2023.8.16 找出转圈游戏输家
目录题目:示例:分析:代码:题目:示例:分析:题目比较长,概括一下就是类似击鼓传花的游戏,如果有人接到了两次球,那么游戏结束。没接到球的玩家失败,让我们返回失败的玩家的列表。那么这是一道简单的模拟题,我们直接无脑模拟即可。我们拿一个set来统计已经接过球的玩家,然后循环模拟传球,一旦有人接到了两次,那么我们退出循环。最后通过set来统计一下有哪些玩家没接过球,把他们放入一个容器里返回。代码:cla
折途
·
2023-08-17 22:29
力扣每日一题
leetcode
算法
c++
数据结构
2023-08-17
力扣每日一题
链接:1444.切披萨的方案数题意:给定一个矩阵,其中含有多个苹果,需要切割k-1次,每次可以切割多行/多列,需要保证切割两个部分都有苹果,移除靠上/靠右的部分,对留下部分进行后续的切割,求有几种切割方法解:男人不能快算法需要快!这题需要通过两部分节约时间,一部分是动态规划,一部分是前缀和这好像还是第一次写二维前缀和(好像),主要是要记得移除重复部分,由于每次保留的是靠下/靠左的部分,所以求的是已
Qian丶Xi
·
2023-08-17 21:47
力扣每日一题
leetcode
2023-08-16
力扣每日一题
链接:2682.找出转圈游戏输家题意:环形1到n,从1开始,每次移动第i次*k,当移动到出现过的序号时停下,求没移动到的数字解:简单模拟题,我也以为有数学做法,可恶实际代码:#includeusingnamespacestd;vectorcircularGameLosers(intn,intk){setget;get.insert(1);vectorans;intnow=1,nextMove=k;
Qian丶Xi
·
2023-08-17 21:17
力扣每日一题
leetcode
2023-08-13
力扣每日一题
链接:88.合并两个有序数组题意:如题解:从后往前(从大到小)插入排序,这样就不会影响原先的有序性实际代码:#includeusingnamespacestd;voidmerge(vector&nums1,intm,vector&nums2,intn){intmao=nums1.size()-1;m--,n--;while(m>=0&&n>=0){if(nums1[m]>nums2[n])swap
Qian丶Xi
·
2023-08-16 01:49
力扣每日一题
leetcode
2023-08-15
力扣每日一题
链接:833.字符串中的查找与替换题意:n组操作,其中第i组:检查子字符串sources[i]是否出现在原字符串s的索引indices[i]处。如果没有出现,什么也不做。如果出现,则用targets[i]替换该子字符串。所有替换操作必须同时发生,这意味着替换操作不应该影响彼此的索引。测试用例保证元素间不会重叠。解:由于要对原字符串进行判断所以我们不对字符串进行直接修改(当然好像弄一个偏移量也可以写
Qian丶Xi
·
2023-08-16 01:49
力扣每日一题
leetcode
c++
2023-08-14
力扣每日一题
链接:617.合并二叉树题意:如题,合并两个二叉树(值合并)解:简单二叉树操作题实际代码:#includeusingnamespacestd;structTreeNode{intval;TreeNode*left;TreeNode*right;TreeNode():val(0),left(nullptr),right(nullptr){}TreeNode(intx):val(x),left(nul
Qian丶Xi
·
2023-08-16 01:49
力扣每日一题
leetcode
力扣每日一题
:278.第一个错误的版本 欢度端午的二分水题!
278.第一个错误的版本https://leetcode-cn.com/problems/first-bad-version/solution/278di-yi-ge-cuo-wu-de-ban-ben-by-qingfen-gp99/难度:简单题目:你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之
清风Python
·
2023-08-15 23:09
【
力扣每日一题
】2023.8.15 字符中的查找与替换
目录题目:示例:分析:代码:题目:示例:分析:题目很长,简而言之就是检查字符串中对应索引的位置是否有特定的字符串,如果有,那么替换,返回替换后的字符串。这道题还算是没有刁难我们了,连可能要替换的索引都告诉我们了。那么我们直接遍历每个下标,查询该位置的子串是否是特定的字符串,如果是,那么就删除特定字符串,再把要替换的字符串插入进去。不过这样就有一个问题,那就是删除的字符串和替换的字符串长度不一定一致
折途
·
2023-08-15 09:00
力扣每日一题
leetcode
算法
c++
数据结构
【
力扣每日一题
】2023.8.14 合并二叉树
目录题目:示例:分析:代码:题目:示例:分析:给我们合并两棵二叉树,合并的方式就是把对应位置的节点的值相加,最后把合并后的二叉树的根节点返回出去。这类二叉树需要遍历的题目,我们一般都是要递归的,无论是前中后序哪一种遍历方式,都是要递归的。本题我们直接在调用函数里递归就可以了。我们直接做个判断,如果某个节点为空指针节点,那么就返回另一个节点。接着没有任何节点为空指针节点,那么我们就把两个节点的值加起
折途
·
2023-08-15 09:59
力扣每日一题
leetcode
算法
c++
数据结构
【LeetCode75】第二十九题 删除链表的中间节点
【
力扣每日一题
】20
折途
·
2023-08-15 09:27
LeetCode75题解
链表
数据结构
leetcode
算法
c++
【
力扣每日一题
】617. 合并二叉树 & dfs & bfs & 8.14打卡
文章目录题目思路代码题目617.合并二叉树难度:简单描述:给你两棵二叉树:root1和root2。想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为null的节点将直接作为新二叉树的节点。返回合并后的二叉树。注意:合并过程必须从两个树的根
万物皆可der
·
2023-08-14 16:36
暑期算法冲刺
leetcode
深度优先
宽度优先
【
力扣每日一题
】1572. 矩阵对角线元素的和 & 8.11打卡
文章目录题目思路代码题目1572.矩阵对角线元素的和难度:简单描述:给你一个正方形矩阵mat,请你返回矩阵对角线元素的和。请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。返回合并后的二叉树。注意:合并过程必须从两个树的根节点开始。示例1:输入:mat=[[1,2,3],[4,5,6],[7,8,9]]输出:25解释:对角线的和为:1+5+9+3+7=25请注意,元素mat[1]
万物皆可der
·
2023-08-14 16:36
暑期算法冲刺
leetcode
矩阵
算法
【
力扣每日一题
】88. 合并两个有序数组 &双指针 & 辅助数组 & 8.13打卡
文章目录题目思路代码题目88.合并两个有序数组难度:简单描述:给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初始长度为m+n,其中前m个元素表示应合并的元素,
万物皆可der
·
2023-08-14 16:03
暑期算法冲刺
leetcode
算法
数据结构
【
力扣每日一题
】23. 合并 K 个升序链表 &暴力法-快排 & 8.12打卡
文章目录题目思路代码题目合并K个升序链表难度:困难描述:给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例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]将它们合并到一个有序链表中得到。1->1->2->3->4->4->5
万物皆可der
·
2023-08-13 22:41
暑期算法冲刺
leetcode
链表
算法
【
力扣每日一题
】2023.8.11 矩阵对角线元素的和
目录题目:示例:分析:代码:题目:示例:分析:题目给我们一个矩阵,让我们把矩阵对角线上的元素都加起来返回。那么矩阵的对角线是有两条的,一条是从左上到右下,另一条是从右上到左下。我们先看第一条:可以看出来对角线上的元素下标是有规律的,他们的行下标和列下标是一样的,所以我们遍历n次,也就是矩阵的长度次。每次都加上mat[i][i],这样就算是把从左上到右下这条对角线给解决了。第二条从右上到左下:我们咋
折途
·
2023-08-12 17:58
力扣每日一题
leetcode
矩阵
算法
c++
数据结构
2023-08-11
力扣每日一题
链接:1572.矩阵对角线元素的和题意:计算主对角线和副对角线上的元素的和(不计算重复的)解:O.o?实际代码:#includeusingnamespacestd;intdiagonalSum(vector>&mat){intlg=mat.size(),ans=0;for(inti=0;i>n;vector>mat;for(inti=0;it;inttemp;for(intj=0;j>temp;t
Qian丶Xi
·
2023-08-11 22:43
力扣每日一题
leetcode
c++
2023-08-10
力扣每日一题
链接:1289.下降路径最小和II题意:每一行选择一个数字,相邻行选择不能是同一列,求选择的数字和最小是多少解:每一行选择最小的次小的,下一行能加最小的(列坐标不冲突)就加最小的,不然就加次小的虽然写的丑陋了点,但是至少是O(n^2),蛤蛤实际代码:#includeusingnamespacestd;intminFallingPathSum(vector>&grid){vector>dp(grid
Qian丶Xi
·
2023-08-11 06:54
力扣每日一题
leetcode
c++
2023-08-09
力扣每日一题
链接:1281.整数的各位积和之差题意:十进制每一位的积减去每一位的和解:十进制位处理实际代码:#includeusingnamespacestd;intsubtractProductAndSum(intn){intt1=1,t2=0;while(n){t1*=n%10;t2+=n%10;n/=10;}//cout>n;intans=subtractProductAndSum(n);cout<
Qian丶Xi
·
2023-08-10 01:24
力扣每日一题
leetcode
(
力扣每日一题
)用两个栈实现队列
用两个栈实现队列用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回-1)解题思路1、栈无法实现队列功能:栈底元素(对应队首元素)无法直接删除,需要将上方所有元素出栈。2、双栈可实现列表倒序:设有含三个元素的栈A=[1,2,3]和空栈B=[]。若循环
Nakisha
·
2023-08-09 23:17
常见算法题归纳
【
力扣每日一题
】2023.8.9 整数的各位积和之差
目录题目:示例:分析:代码:题目:示例:分析:这是一道简单题,题目就是给我们一个整数,让我们把这个数的各个位数都乘起来再减去各个位数加起来的值。这好像没什么可说的,不过还是介绍一下取数字的各个位数的一个基本模板:while(num){intn=num%10;num/=10;}把num送入while循环,条件就是num不为0。每次我们都把num取余,这样就是得到了num的个位数。接着将num除10,
折途
·
2023-08-09 22:14
力扣每日一题
leetcode
算法
c++
数据结构
2023-08-08
力扣每日一题
链接:1749.任意子数组和的绝对值的最大值题意:求数组的所有子数组中,和的绝对值的最大值解:求子数组最大和和最小和,动态规划,前面的值如果小于0对找最大值无用,小于0对找最小值无用优化:前缀和,子数组的值为sum[r]-sum[l-1],找最大的sumMax减去最小的sumMin,因为求得是绝对值,所以即使sumMax是左端L也没关系,Max-Min=abs(Min-Max)实际代码:#incl
Qian丶Xi
·
2023-08-09 01:25
力扣每日一题
leetcode
算法
力扣每日一题
——344. 反转字符串
题目设置:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)的额外空间解决这一问题。解题思路:双指针初始化:设置两个指针l和r分别指向列表首尾元素步骤:交换s[l]和s[r]对应元素,并更新指针位置(l+=1,r-=1),直到两个指针相遇时间复杂度:O(N)完整代码:classSolution:def
某法外狂徒的说
·
2023-08-07 17:06
指针
算法
python
leetcode
算法
数据结构
2023-08-06
力扣每日一题
链接:24.两两交换链表中的节点题意:交换链表中12、34、56…解:从尾部处理,一次移动两个避免交换23\45,处理完返回这一组的头结点方便更新前面的尾结点实际代码:#includeusingnamespacestd;structListNode{intval;ListNode*next;ListNode():val(0),next(nullptr){}ListNode(intx):val(x)
Qian丶Xi
·
2023-08-06 17:24
力扣每日一题
leetcode
c++
链表
力扣每日一题
(2023年7月) 更新中~
力扣每日一题
(2023年7月)2023年7月——每日一题1、7月11日1911.最大子序列交替和思路:动态规划(动态规划分析步骤:确定dp数组下标及含义,确定dp数组的递推公式,dp数组初始化,确定遍历顺序
超Pro
·
2023-08-06 14:24
力扣刷题笔记
leetcode
算法
职场和发展
【
力扣每日一题
】2023.8.4 不同路径3
目录题目:示例:分析:代码:题目:示例:分析:在二维网格之上,让我们模拟从开头走到末尾,并且要经过所有能经过的点,问我们有多少种走法。看到这道题我的第一个想到的就是那种一笔画的游戏,就类似这种:那放到程序里面,我们则需要将数组转变为地图,题目给的条件是1是起点,2是终点,0是可以走的空格,-1是不能走的空格。这种题目我们一般都是用的DFS也就是深度优先搜索以及回溯递归来做。我们通过回溯递归来模拟行
折途
·
2023-08-05 22:42
力扣每日一题
leetcode
算法
c++
数据结构
【
力扣每日一题
】2023.8.5 合并两个有序链表
目录题目:示例:分析:代码:题目:示例:分析:题目给我们两个有序的链表,要我们保持升序的状态合并它们。我们可以马上想要把两个链表都遍历一遍,把所有节点的值都放入一个容器里,排序之后再创建一个新的链表。但是第一,题目是要求拼接链表的节点,而这么做的话有点小犯规。第二就是没有利用到原本两个链表就是升序的这个特点。要利用到原本链表升序的特点,我们就需要从左往右依次对两个链表的节点做比较,将较小的节点排到
折途
·
2023-08-05 22:42
力扣每日一题
leetcode
链表
算法
c++
数据结构
2023-08-04
力扣每日一题
链接:980.不同路径III题意:一个迷宫,求走过所有空格子且不重复的从起点到终点的路线有几条解:dfs板子题实际代码:#includeusingnamespacestd;intn=0,m=0,ans=0,space=0;boolCheck(pairnext,vector>&grid){if(next.first=n)returnfalse;if(next.second=m)returnfalse
Qian丶Xi
·
2023-08-04 21:53
力扣每日一题
leetcode
算法
dfs
【
力扣每日一题
】2023.8.3 删除注释
目录题目:示例:分析:代码:题目:示例:分析:这道题属于模拟题,我们实际运用场景是使用正则表达式,并且我看评论区也有不少大佬也是用的正则,而我就是用最土的办法直接模拟了,然后写出了五十多行的屎山代码,我这办法一定不是最好的办法,在这边分享出来也算是给大家提供一种思路,在碰到这类题想不到其他更妙的办法也可以用咱这土办法来做出来。这道题让我们把代码里的注释删掉,并且不用考虑无效的情况,也不用考虑注释在
折途
·
2023-08-04 04:06
力扣每日一题
leetcode
算法
c++
数据结构
【
力扣每日一题
0802】LEETCODE 822. 翻转卡片游戏
引言题意概述:每张牌正反面各有一个数,现在给若干张牌,可以任意翻转卡牌(所以可以理解为不区分正反面),要求找出一个背面的数和所有卡牌正面的数字都不相同,输出满足这一条件的最小的数,不能的话输出0。例题【LEETCODE822】算法描述分析一下题意不难发现,如果某张牌正反面数字相同,那么这个数一定不行,否则正反面的数字都有可能,因为排除掉正反面数字相同的牌后,如果其他牌即使出现了某个数,由于正反面不
Jay2002111
·
2023-08-03 08:39
力扣算法
leetcode
算法
【
力扣每日一题
】2023.8.2 翻转卡片游戏
目录题目:示例:分析:代码:题目:示例:分析:这道题不是什么翻转卡片游戏,这就是纯纯的文字游戏,要是能看懂题目那就是非常简单,接下来我就给大家分析一下,我为什么这么说。题目是说有N张卡片,每张卡片的正面和背面都分别有数字,并且以数组的形式给我们。我们可以翻转任意卡片,来使得同一张卡片的正面和背面上的数字交换。我们随意翻转之后,我们要找出一张卡片,这张背面的数字,和所有卡片正面的数字都不相同,让我们
折途
·
2023-08-03 07:16
力扣每日一题
leetcode
算法
c++
数据结构
2023-08-01
力扣每日一题
链接:2681.英雄的力量题意:对于一个序列可以得到一个值max^2*min,求一个数组的所有子序列数值和解:快速幂和慢速乘+暴力TLE(2558/2584)首先对于这个数组来说,求值只依靠序列的最大值和最小值,并且所有子序列都要求,所以我们先将数组排序对于每次遍历到的数字nums[i]都有一个nums[i]^3加入到ans里(表示子集[i,i],子集[l,r]表示以L为最小值,R为最大值的子集)
Qian丶Xi
·
2023-08-03 06:17
力扣每日一题
算法
动态规划
leetcode
c++
2023-08-02
力扣每日一题
链接:822.翻转卡片游戏题意:每个卡两面都有数字,我们可以随意翻转卡片,然后选择一张卡,这张卡背面的数字不能和所有卡的正面(包括自己的正面)数字相同,这个背面数字为选择数字求能选择的最小数字解:只要记住哪些数字只出现在了一面,那么数字出现在了两面,从小到大遍历即可,出现在一面的数字经过翻转全部翻到背面,然后选择其中一张就行,出现两面的数字不管怎么反正都有一个在正面选不了实际代码:#include
Qian丶Xi
·
2023-08-03 06:17
力扣每日一题
leetcode
【
力扣每日一题
】2023.7.31 重排链表
目录题目:示例:分析:代码:题目:示例:分析:给我们一个链表,让我们按照题目要求原地修改重排链表。那么具体怎么个重排法呢,题目给出了一串式子,其实就是把链表分为前后两段,然后在前半段的节点中间穿插反过来的后半段链表,可以结合着我下面的动图理解理解。我们现在就知道应该要怎么重排了,那么我们应该怎么做才能达到这样的效果呢?我们可以发现一个规律,就是最前面的节点要指向最后面的节点,第二前的节点要指向第二
折途
·
2023-08-01 11:08
力扣每日一题
leetcode
链表
算法
c++
数据结构
2023-07-31
力扣每日一题
链接:143.重排链表题意:将链表L0→L1→…→Ln-1→Ln变成L0→Ln→L1→Ln-1→L2→Ln-2→…解:线性表法还是好写的这边搞一下翻转法,快慢指针求翻转点(翻转后面一半然后双指针合并成一个)还是喜欢递归翻转或者新头结点翻转QWQ,不过还是写了一下循环直接翻转找到翻转点(不包含在翻转后的链表里)之后先将记录TA的下一个然后TA->next=nullptr,将指针TA转到记录上,然后再
Qian丶Xi
·
2023-07-31 18:46
力扣每日一题
leetcode
算法
链表
2023-07-29
力扣每日一题
链接:141.环形链表题意:求链表是否有环解:刚好昨天做完的初级算法链表题,翻转和暴力实际代码:#includeusingnamespacestd;structListNode{intval;ListNode*next;ListNode():val(0),next(nullptr){}ListNode(intx):val(x),next(nullptr){}ListNode(intx,ListNo
Qian丶Xi
·
2023-07-31 06:36
力扣每日一题
leetcode
2023-07-30
力扣每日一题
链接:142.环形链表II题意:求链表是否有环,并给出入环的点解:哈希关联标记或者快慢指针快慢指针逻辑:设入环前长度a,快慢相遇时指针在b,环长度为c,fast=2*slow(慢走一步,快走两步)那么当相遇时2(a+b)=a+nc+b==>a=nc-b=(n-1)c+c-b(fast已经走了n圈)如果有新的指针ptr以速度1走完a到达入环位置,则slow在期间移动了(n-1)c+c-b,其中(n-
Qian丶Xi
·
2023-07-31 06:35
力扣每日一题
leetcode
算法
链表
2022-1-2
力扣每日一题
390. 消除游戏
390.消除游戏classSolution{//网上借鉴,作者思路真的太好了/*1.首先这个题目不可能用模拟的方法计算。因为最大的示例超过100000000,需要进行99999999次删减,时间上绝对来不及。2.遇到这种时间明显不够的题目,第一想法当然是用动态规划来做。2.1先从最简单的情况入手:n=1时,答案为1。n=2时,答案为2。。。。。。。2.2可以发现,答案一定不会是奇数,因为第一轮操作
AuroraRookie
·
2023-07-30 09:07
leetcode
算法
递归法
力扣每日一题
:74.搜索二维矩阵的三种解题方法
74.搜索二维矩阵https://leetcode-cn.com/problems/search-a-2d-matrix/难度:中等题目:编写一个高效的算法来判断mxn矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。提示:m==matrix.lengthn==matrix[i].length1target:returnFal
清风Python
·
2023-07-29 20:08
【
力扣每日一题
】2023.7.28 并行课程3
目录题目:示例:分析:代码:题目:示例:分析:题目给我们课程表以及每门课需要学习的时间,我们可以同时学任意数量的课程,但是学习的条件是先修课程都已经学完了。问我们学习完所有课程需要花费的最少时间。这是很典型的图论里的拓扑排序题,是有一套固定模板的,那么接下来我来一步一步介绍一下解题思路。那么一般图论的题,我们都需要把图给构造出来,一般情况是可以用map来构造的,不过本题中作为map的键是课程号,而
折途
·
2023-07-29 12:53
力扣每日一题
leetcode
算法
c++
数据结构
【
力扣每日一题
】2023.7.27 删除每行中的最大值
目录题目:示例:分析:代码+运行结果:题目:示例:分析:给我们一个矩阵,每次都把每行中的最大元素拿出来删掉,再把每次删除的元素里最大的元素拿出来加到结果里,问矩阵为空的时候,我们能得到的结果是多少。我们可以暴力模拟,两层循环找出每层的最大元素,因为这是简单题,所以大概率不会超时(我没试过)我们也可以直接把每行单独排序,然后依次按照列来查询每行的元素,找出最大值加到结果里,这样也不需要把元素删掉省去
折途
·
2023-07-29 12:23
力扣每日一题
leetcode
算法
数据结构
c++
【
力扣每日一题
】2023.7.29 环形链表
目录题目:示例:分析:代码:题目:示例:分析:题目给我们一个链表,让我们判断这个链表是否有环。我们可以直接遍历这个链表,最后能走到链表末尾也就是空指针那就代表这个链表没有环,如果一直死循环在走,那么就说明我们陷入环了。当然,我们不可能这么做,不可能每次判断一个链表有概率让我们的程序陷入死循环,那么我们应该怎么做呢。其实这是很经典的快慢指针题。我们需要定义两个指针来遍历这个链表,其中一个快指针比慢指
折途
·
2023-07-29 12:19
力扣每日一题
leetcode
链表
算法
c++
数据结构
2023-07-28
力扣每日一题
链接:2050.并行课程III题意:一个有向无环图表示工作流程,A->B表示A是B的前置,当前置全部完成时才能开始该工作,求所有工作都完成的最短时间解:经典拓扑,每次处理入度为0的点,并将他们移除,每个工作的最早开始时间是前置的最晚完成时间实际代码:#includeusingnamespacestd;intminimumTime(intn,vector>&relations,vector&time
Qian丶Xi
·
2023-07-28 20:39
力扣每日一题
leetcode
算法
拓扑学
图论
2023-07-27
力扣每日一题
链接:2500.删除每行中的最大值题意:简单题,每次删除每一行的最大值,存储每次删除中最大的数字解:对行排序,每一列取最大值实际代码:#includeusingnamespacestd;intdeleteGreatestValue(vector>&grid){intlgn=grid.size(),lgm=grid[0].size(),ans=0;for(inti=0;i());for(intj=0
Qian丶Xi
·
2023-07-28 20:09
力扣每日一题
leetcode
算法
2023-07-26
力扣每日一题
-区间翻转线段树
链接:2569.更新数组后处理求和查询题意:给两个等长数组nums1和nums2,三个操作:操作1:将nums1的[l,r]翻转(0变1,1变0)操作2:将nums2[any]变成nums2[any]+nums1[any]*p,p由操作给出,any表示数组里的每一位操作3:查询nums2的和解:由于每次更新nums2的时候,不需要考虑nums2[any]本身的值(基于nums2[any]增减,但增
Qian丶Xi
·
2023-07-26 23:50
力扣每日一题
leetcode
算法
数据结构
2023-07-24
力扣每日一题
链接:771.宝石与石头题意:简单题,不多说解:简单题,不多说实际代码:#includeusingnamespacestd;intnumJewelsInStones(stringjewels,stringstones){setchset;intans=0;for(auto&ch:jewels)chset.insert(ch);for(auto&ch:stones)if(chset.count(ch
Qian丶Xi
·
2023-07-26 23:49
力扣每日一题
leetcode
算法
2023-07-25
力扣每日一题
链接:2208.将数组和减半的最少操作次数题意:给定一个正数数组,每次可以让一个数字减半,求将数组减少一半及以上的最小次数解:每次找数组中存在的最大数减半,贪心,数组比较长,配合优先队列、单调栈实际代码:#includeusingnamespacestd;inthalveArray(vector&nums){doublesum=0;intans=0;priority_queue,less>p_q;
Qian丶Xi
·
2023-07-26 18:25
力扣每日一题
leetcode
算法
2023-07-21
力扣每日一题
链接:1499.满足不等式的最大值题意:一个整数二维数组points和一个非负整数k,当iusingnamespacestd;structcmp1{booloperator()(constvector&L,constvector&R){if(L[1]==R[1])returnL[0]>R[0];//X要小elsereturnL[1]>&points,intk){priority_queue,vec
Qian丶Xi
·
2023-07-24 22:11
力扣每日一题
leetcode
数据结构
【
力扣每日一题
】2023.7.23 接雨水
目录题目:示例:分析:代码+运行结果:题目:示例:分析:接雨水是力扣里非常经典的一道单调栈的题目,使用单调栈的做法就是从左到右将高度依次入栈,保持栈内从栈顶开始升序,在遇到比栈顶更高的高度后,则弹出栈顶元素,并开始按行来计算所积雨水数量,再将后面来的高度入栈。由于这题很经典,并且讲解的人也不少,因此我就不说单调栈的解法了,我这里介绍一种按列积水的方法。这里我把示例2做成了图方便看:我们可以注意到不
折途
·
2023-07-24 18:56
力扣每日一题
leetcode
算法
c++
数据结构
【
力扣每日一题
】2023.7.24 宝石与石头
目录题目:示例:分析:代码+运行结果:题目:示例:分析:给我们一个字符串表示宝石的类型,再给我们一个字符串表示我们已经拥有的石头,问我们在石头中能找到多少宝石。一开始我以为第一个字符串表示一个宝石,结果看看示例,是第一个字符串中每个单独的字符都是表示宝石的。那这样字符是宝石就比字符串是宝石更加简单了。我们只需要先遍历一边宝石,再用unordered_set或是unordered_map来存放每一个
折途
·
2023-07-24 18:56
力扣每日一题
leetcode
算法
c++
数据结构
上一页
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
其他