草庐IT

Leetcode刷题第六周

全部标签

Java LeetCode篇-深入了解二叉树经典解法(三种方式实现:获取二叉树的最大深度)

🔥博客主页: 【小扳_-CSDN博客】❤感谢大家点赞👍收藏⭐评论✍  文章目录    1.0对称二叉树        1.1判断对称二叉树实现思路        1.2代码实现:判断对称二叉树    2.0二叉树的最大深度        2.1使用递归实现获取二叉树的最大深度思路    2.2代码实现:使用递归实现获取二叉树的最大深度    2.3使用非递归实现获取二叉树的最大深度思路    2.4代码实现:使用非递归实现获取二叉树的最大深度    2.5使用层序遍历实现获取二叉树的最大深度    2.6代码实现:使用层序遍历实现获取二叉树的最大深度    3.0二叉树的最小深度    3.1

leetcode二叉树

下面的两个题呢是比较类似的所以放在一起讲,更好的理解起来。https://leetcode.cn/problems/same-tree/description/这个题就是比较两颗树是不是一样的,这个其实看起来就只要比较当前节点,我们分析成子问题就是判断两颗树当前节点是不是一致的,比如p和q的val还有就是为空的时候我们,这样我们的代码其实就写好了。boolisSameTree(structTreeNode*p,structTreeNode*q){if(p==NULL&&q==NULL){returntrue;}if(p==NULL||q==NULL){returnfalse;}if(p->va

【贪心算法】LeetCode2071:你可以安排的最多任务数目

作者推荐[二分查找]LeetCode2040:两个有序数组的第K小乘积本文涉及的基础知识点二分查找算法合集题目给你n个任务和m个工人。每个任务需要一定的力量值才能完成,需要的力量值保存在下标从0开始的整数数组tasks中,第i个任务需要tasks[i]的力量才能完成。每个工人的力量值保存在下标从0开始的整数数组workers中,第j个工人的力量值为workers[j]。每个工人只能完成一个任务,且力量值需要大于等于该任务的力量要求值(即workers[j]>=tasks[i])。除此以外,你还有pills个神奇药丸,可以给一个工人的力量值增加strength。你可以决定给哪些工人使用药丸,但每

JAVA刷题之数组的总结和思路分享

꒰˃͈꒵˂͈꒱writeinfront ꒰˃͈꒵˂͈꒱ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈.ᴗ͈აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创CSDN 如需转载还请通知˶⍤⃝˶个人主页:xiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客系列专栏:xiaoxie的刷题系列专栏——CSDN博客●'ᴗ'σσணღ*我的目标:"团团等我💪(◡̀_◡́҂)" ( ⸝⸝⸝›ᴥ‹⸝⸝⸝)欢迎各位→点赞👍+收藏⭐️+留言📝​+关注(互三必回)! 数组篇 1. 在排序数组中查找元素的第一个和最后一

LeetCode-二叉树OJ题

1.单值二叉树 965. 单值二叉树https://leetcode.cn/problems/univalued-binary-tree/ 先判断这棵树是否为空,如果是空树则是true。再判断左子树是否为空,并且左子树的值val和当前节点的val不相同,如果这左子树不为空且val不等于root的val则返回false,再使用相同方式判断右子树。最后递归一下左右子树即可,只有左右子树有一个返回false,则整体返回false。boolisUnivalTree(structTreeNode*root){if(root==NULL)returntrue;if(root->left&&root->le

C语言刷题----循环输出图形

从12月开始,阿崽就没更新啦,阿崽刷了一波题接下来的一段时间,准备更新我的刷题的文,有的题有不同思路,欢迎各位宝子和我一起交流牛客网-----循环输出图形BC98线段图案BC99正方形图案BC100直角三角形图案BC101翻转直角三角形图案BC102带空格直角三角形图案BC103金字塔图案BC104翻转金字塔图案BC105菱形图案BC106K形图案BC107箭形图案BC108反斜线形图案BC109正斜线形图案BC110X形图案BC111空心正方形图案BC112空心三角形图案BC113数字三角形BC98线段图案 分析:1.多组输入应该使用循环(即while(scanf("%d",x)!=EOF)

《python语言程序设计基础》(第二版)第六章课后习题参考答案

第六章组合数据类型文章目录6.1随机密码生成6.2重复元素判定6.3重复元素判定续6.4文本字符分析6.5生日悖论分析6.6《红楼梦》人物统计6.1随机密码生成importrandomimportstring#生成密码的长度password_length=8#生成密码的字符集,包括大小写字母和数字charset=string.ascii_letters+string.digits#生成10个密码foriinrange(10):password=''.join(random.choice(charset)for_inrange(password_length))print(password)6.

机器学习入门(第六天)——支持向量机(升维打击)

Supportvectormachines知识树Knowledgetree苹果表示重点间隔:使用了几何间隔,保证wb的度量,感知机则是函数间隔间隔最大化思想:则是支持向量机的独有,这使得它找到最优超平面核函数:面试当中可能会问到是否能写出其中的一个核函数红豆绿豆的前世今生前面章节讲到划分超平面,来区分红豆和绿豆从上面可以看到,能找到很多的超平面,黄色的线,那哪条黄色的线才是最好的呢?当然是对角的黄色线,因为这条可以让红豆绿豆区分的最开,也就是线和豆的距离最远,即使区分新的豆(预测集),也能最好的区分开,因为可能豆有接近的情况。如何找到最优的超平面从上图可知,超平面A是最优的。因为它与两个类的距

LeetCode 面试题 17.01. 不用加号的加法

文章目录一、题目二、C#题解一、题目  设计一个函数把两个数字相加。不得使用+或者其他算术运算符。示例:输入:a=1,b=1输出:2提示:a,b均可能是负数或0结果不会溢出32位整数  点击此处跳转题目。二、C#题解  将a、b进行二进制加法,ai、bi表示a、b第i位的值(0或1),ci表示第i位的进位(0或1)。使用ans表示计算结果,初始情况ans各位均为0。ci=0ai=bi:ai、bi不是0就是1,因此相加后该位结果均为0,ans不做处理ai=bi=0,则计算后该位进位0;ai=bi=1,则计算后该位进位1。故ci=ai。ai!=bi:ai和bi一个为0,一个为1,相加后均不会进位,

【从零开始学习Redis | 第六篇】爆改Setnx实现分布式锁

前言:   在Java后端业务中, 如果我们开启了均衡负载模式,也就是多台服务器处理前端的请求,就会产生一个问题:多台服务器就会有多个JVM,多个JVM就会导致服务器集群下的并发问题。我们在这里提出的解决思路是把锁交给Redis来实现,因为Redis是单线程的。而最基础的Redis解决集群模式下的并发问题的核心解决方案是使用Setnx构造分布式锁,下文来让我们详细的看一下过程。目录前言:核心思路: 具体业务逻辑:业务问题解决思路1.选择加锁问题:2.Redis分布式锁的误删问题:3,如何保证删除锁代码的原子性?业务杂项知识点:1.Springmvc中的事务失效引起的并发问题:2.包装类与基本数