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
《力扣每日一题》
【
力扣每日一题
】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++
数据结构
【
力扣每日一题
】2023.7.22 柠檬水找零
目录题目:示例:分析:代码+运行结果:题目:示例:分析:这是一道模拟题,我们贩卖五美元(忒贵了)一杯的柠檬水,然后只收取5,10,20面值的钞票,问我们能不能在一开始没有任何零钱的情况下,完成每一笔交易(正确找零)。这题只需要正常模拟就可以,不过有个小细节,就是如果顾客付了20美元,那么我们需要找15元回去,而这个15元可以由10元和5元组成,也可以是三张5元组成,我们应该怎么选择呢?首先我们分析
折途
·
2023-07-24 18:20
力扣每日一题
leetcode
算法
c++
数据结构
【
力扣每日一题
】2023.7.21 满足不等式的最大值
目录题目:示例:分析:代码+运行结果:题目:示例:分析:给我们一堆按照x轴从小到大排序的坐标,让我们找出满足条件的两个坐标经过一个式子计算得到的最大值.首先,条件是两个坐标的x轴之差的绝对值小于等于k.然后式子为yi+yj+|xi-xj|(i>&points,intk){intres=INT_MIN;deque>d;for(constauto&point:points){//如果队列不为空,并且此
折途
·
2023-07-22 00:05
力扣每日一题
leetcode
算法
数据结构
c++
2023-07-19
力扣每日一题
链接:874.模拟行走机器人题意:模拟机器人操作,求操作过程中机器人离原点的最大欧式距离解:模拟,难点在于如何判断这个位置是否有障碍,障碍的坐标在正负3E4内,没办法用正常的数组(也许bitset)?可以用map和set存储顺便去重,然后count查询该位置是否障碍即可实际代码:#includeusingnamespacestd;constexprintNmax=1E5+7;introbotSim
Qian丶Xi
·
2023-07-19 18:06
力扣每日一题
leetcode
2023-07-18
力扣每日一题
-有点难
链接:1851.包含每个查询的最小区间题意:给定一个区间二维数组,有N个[L,R]区间(闭区间)给定一组查询,有M个正整数,求存在于区间数组中的最小R-L+1满足L=L,加入一个容器,即步骤1,得到一个所有可能合法区间将容器内所有NM[i]>R,剔除,即步骤2,可以得到一个该值的所有一定合法区间最后选择容器中最小的R-L+1,得到该查询的答案。难点就在于在这个容器中删除NM[i]>R这时候就要使用
Qian丶Xi
·
2023-07-19 18:05
力扣每日一题
leetcode
算法
数据结构
【
力扣每日一题
】2023.7.19 模拟行走机器人
题目:示例:分析:机器人模拟类题目,力扣里有很多这样的模拟题,就是模拟机器人在坐标系上行走.套路就是记下每个方向行走后,x轴和y轴的变化(代码中的direction),例如direction[0]就表示向北走一次,y轴+1,x轴不变.然后左转则将指向direction的下标减一(若是小于0则变成3,direction[3]表示向西).右转则将指向direction的下标加一(若是大于3则变成0,d
折途
·
2023-07-19 16:35
力扣每日一题
leetcode
算法
c++
数据结构
2023-07-17
力扣每日一题
链接:415.字符串相加题意:给两个非负整数字符串,要求不使用用于处理大整数的库解:简单题,反正就是考查字符串处理和数学基础,冲冲冲执行用时:0ms,在所有C++提交中击败了100.00%的用户内存消耗:6.4MB,在所有C++提交中击败了99.95%的用户实际代码:#includeusingnamespacestd;stringaddStrings(stringnum1,stringnum2){
Qian丶Xi
·
2023-07-18 07:50
力扣每日一题
leetcode
2023-07-16
力扣每日一题
链接:834.树中距离之和题意:给定一个树,有n个节点,需要得到每个节点与其他节点的距离和解:还以为是弗洛伊德,一看范围3E4直接晕倒想了四个小时,实在是想不出来了,看了一下评论里的转移公式设DP[i]为节点i与其他节点的距离和,DP[F]是节点i的父节点与其他节点的距离和那么从F移动到i会有怎么样的距离变化,首先离F的距离+1,但是离i的距离-1,这两者抵消然后离i的所有子节点(这里指的不是直接
Qian丶Xi
·
2023-07-16 23:26
leetcode
深度优先
算法
广度优先
【
力扣每日一题
】2023.7.15 四数之和
题目:示例:分析:这题和本月出过的每日一题:两数之和,三数之和类似。不夸张的说只要把三数之和的代码拿来再套层for循环改改就可以了。不过我这里还是简单捋一捋思路,题目给一个数组,要求返回所有长度为4,总和为target的子数组(不用连续)。比较容易想到的是暴力解法,直接套四层for循环,然后用set(unordered_set)来接收满足条件的数组(用于去重),然后再一顿for循环把去重后的结果取
折途
·
2023-07-16 19:50
力扣每日一题
leetcode
算法
职场和发展
力扣每日一题
2023.7.14在二叉树中分配硬币
题目:示例:分析:给一个二叉树,二叉树的值总和等于整个二叉树的节点数,我们一次可以移动一个节点的一个值到相邻节点,问我们需要移动多少次才可以把值的总和平均分配每个节点(即每个节点的值都为1).我们可以确定的是,如果某个节点的左子树共有n个节点,而节点值总和为m,那么光这个节点的左子树就会有|n-m|个值会经过这个节点,我们虽然不知道|n-m|个值一共要移动多少次,但是光是与节点相邻的边就一定会要移
折途
·
2023-07-16 19:17
力扣每日一题
leetcode
算法
职场和发展
2023-07-15
力扣每日一题
链接:1377.T秒后青蛙的位置题意:一个n节点无向树,遍号1到n,青蛙从顶点1开始**(第0秒在顶点1)**每过一秒:青蛙等概率跳到该节点的子节点,如果该节点没有子节点则原地不动只跳子节点或者留在原地,即题目中的不跳回访问过的节点解:n才100,数据贼小,纯纯的模拟,感觉不太像困难题~~(膨胀)~~实际代码:#include#includeusingnamespacestd;voidcheck(
Qian丶Xi
·
2023-07-16 11:05
力扣每日一题
leetcode
算法
2023-07-14
力扣每日一题
链接:979.在二叉树中分配硬币题意:一个二叉树,n个节点,节点权值总和为n,每次可以相邻节点间移动1权值求让每个节点都为1的最少次数解:给定了一个树的结构体,先整一手DFS/BFS,n不大,随便莽莽首先每个节点只需要剩下1,而且可以知道叶子节点如果不为1,肯定要通过父节点移动所以只要预设该叶子结点为1,所需要的代价转移到父节点身上,就可以将该叶子结点从树中抹去(因为已经处理完毕)分析以下几种情况
Qian丶Xi
·
2023-07-15 11:12
力扣每日一题
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
其他