草庐IT

Leetcode刷题第六周

全部标签

蓝桥杯第19天(Python)(疯狂刷题第2天)

题型:1.思维题/杂题:数学公式,分析题意,找规律2.BFS/DFS:广搜(递归实现),深搜(deque实现)3.简单数论:模,素数(只需要判断到 int(sqrt(n))+1),gcd,lcm,快速幂(位运算移位操作),大数分解(分解为质数的乘积)4.简单图论:最短路(一对多(Dijstra,临接表,矩阵实现),多对多(Floyd,矩阵实现)),最小生成树(并查集实现)5.简单字符串处理:最好转为列表操作6.DP:线性DP,最长公共子序列,0/1背包问题,最长连续字符串,最大递增子串7.基本算法:二分,贪心,组合,排列,前缀和,差分8.基本数据结构:队列,集合,字典,字符串,列表,栈,树9.

(图论) 1020. 飞地的数量 ——【Leetcode每日一题】

❓1020.飞地的数量难度:中等给你一个大小为mxn的二进制矩阵grid,其中0表示一个海洋单元格、1表示一个陆地单元格。一次移动是指从一个陆地单元格走到另一个相邻(上、下、左、右)的陆地单元格或跨过grid的边界。返回网格中无法在任意次数的移动中离开网格边界的陆地单元格的数量。示例1:输入:grid=[[0,0,0,0],[1,0,1,0],[0,1,1,0],[0,0,0,0]]输出:3解释:有三个1被0包围。一个1没有被包围,因为它在边界上。示例2:输入:grid=[[0,1,1,0],[0,0,1,0],[0,0,1,0],[0,0,0,0]]输出:0解释:所有1都在边界上或可以到达边

《LeetCode》——LeetCode刷题日记

本期,将给大家带来的是关于 LeetCode的关于二叉树的题目讲解。目录(一)606.根据二叉树创建字符串💥题意分析 💥解题思路(二)102.二叉树的层序遍历💥题意分析💥解题思路(三)236.二叉树的最近公共祖先 💥题意分析💥解题思路(一)606.根据二叉树创建字符串首先,第一道题是关于二叉树创建字符串的题,接下来我将一步步的分析带大家理解这道题!题目如下:👇输入:root=[1,2,3,4]输出:"1(2(4))(3)"解释:初步转化后得到"1(2(4)())(3()())",但省略所有不必要的空括号对后,字符串应该是"1(2(4))(3)"。 输入:root=[1,2,3,null,4]输

链表oj题2(Leetcode)(牛客)——合并两个有序链表;判断回文链表;链表分割

链表oj题2(Leetcode)(牛客)一,合并两个有序链表1.1分析2.2代码二,链表的回文结构2.1分析2.2代码三,链表分割3.1分析3.2代码四,小结一,合并两个有序链表合并两个有序链表(力扣)1.1分析这里合并两个链表,我们首先想到的思路就是构建一个新的链表,然后比较两个链表的val值的大小依次插入新链表,这里我们还需要注意几个细节如果其中一个链表是空的那那么我们直接返回另外一个非空的链表我们在比较插入的时候用的是while循环条件就是两个链表都不为空,那么如果一个链表已经结束了,那么我们再后面应该再把另外一条链表插入完。还有一些细节我在我的代码注释中有做标注。2.2代码tructL

LeetCode #1348 Tweet Counts Per Frequency 推文计数

1348TweetCountsPerFrequency推文计数Description:Asocialmediacompanyistryingtomonitoractivityontheirsitebyanalyzingthenumberoftweetsthatoccurinselectperiodsoftime.Theseperiodscanbepartitionedintosmallertimechunksbasedonacertainfrequency(everyminute,hour,orday).Forexample,theperiod[10,10000](inseconds)woul

OJ刷题---[算法课动态规划]走网格(C++完整代码)

题目:m行n列的网格,从左上角(1,1)出发,每一步只能向下或者向右,问共有多少种方法可以走到右下角(m,n);输入:输入参数mn(1输出:输出多少种走法比如:输入:23输出:3输入:55输出:70完整代码(C++):#includeusingnamespacestd;intsum(intm,intn){ inttotal; if(m==1||n==1) { return1; } if(m==2&&n==2) { return2; } returnsum(m-1,n)+sum(m,n-1);}intmain(){ intm,n; cin>>m; cin>>n; inttotal; tota

第六章 Flink中的时间和窗口

时间语义上图是数据流式处理过程,涉及到两个重要的时间点:事件时间(EventTime)和处理时间(ProcessingTime)。事件时间(EventTime):即数据产生的时间;处理时间(ProcessingTime):即数据真正被处理的时刻;我们在处理数据时,以哪种时间作为衡量标准,就是所谓的时间语义问题(NotionsofTime)。由于分布式系统中网络传输的延迟和时钟漂移,处理时间相对事件发生的时间会有滞后。在这种情况下,就不能简单地把数据自带的时间戳当作时钟了,而需要用另外的标志来表示事件时间进展,在Flink中把它叫作事件时间的“水位线”(Watermarks)。水位线(Water

力扣刷题笔记-06 N字形变换

06N字形变换不要混日子,小心日子把你混了对于题目的理解比如说,我给一个字符串,LEETCODE,行数为3,然后按照N字形排列,就是下面这个排列方式。排列完之后正常读取,结果就是LCETOEED。这叫做N字形变换。这个例子里给的行数就是3,往下排三行,然后往右往上走。chatGPT思路边界情况/特殊情况:就给一行,或者给的行数和字符串的长度是一样的,那么就直接返回原来的字符串创建一个长度为numRows的字符数组rows,用于存储每行的字符。。。没抄完,但是我已经理解了。我的理解:准备一个数组,类型是StringBuilder,StringBuilder[]rows=newStringBuil

五道LeetCode《中等难度》的单链表题

五道单链表中等难度题型1.剑指OfferII021.删除链表的倒数第n个结点第一种解法(单指针):第二种解法(栈):第三种解法(双指针):2.删除排序链表中的重复元素II(重点)普通状态特殊状态(头结点重复时)特殊状态(删除尾结点时)3.删除链表中的节点4.重排链表思路一:思路二(寻找链表中点+链表逆序+合并链表)5.剑指OfferII077.链表排序(重点!)1.剑指OfferII021.删除链表的倒数第n个结点题目描述:找到链表的倒数第n个结点,并删除该结点三种解法:第一种解法(单指针):1.遍历链表,求出链表长度L2.链表长度L减去n,就是倒数第n个结点3.找到倒数第n个结点的前驱结点,

第六节:Git标签(关键词:git tag、git show、创建、删除、查看、推送标签)

文章目录一:Git标签概述二、Git标签使用方法(1)创建标签(2)查看标签(3)删除标签(4)推送标签(5)检出标签三、Git标签使用示例四:总结本节涉及Git命令gittag:列出所有标签gittag:创建标签gittag-a-m'message':创建带有注释的标签gitshow:查看某个标签细节gittag-d:删除标签gitpsuhorigin--tags:推送所有标签gitpsuhorigin:推送某个标签gitcheckout:检出标签一:Git标签概述Git标签:标签(Tag)是用于对某一特定版本进行命名或者打标记的一种机制,类似于对文件进行标注或者对书籍进行书签的功能。标签可