草庐IT

LeetCode_day

全部标签

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。你可以决定给哪些工人使用药丸,但每

C语言--每日选择题--Day28

第一题1.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是( )A:6.500000B:6C:5.500000D:6.000000答案及解析 D本题考查的是不同数据类型之间的变量进行运算时发生的类型转换;不涉及强制类型转换的规则:1.char-->int-->float-->double;2.有符号会转换为无符号强制类型转换只针对一个变量,括号后面是谁就针对谁;本题为(int)a+b/b;首先a被强制类型转换为int类型,会直接保留整数部分,a=5;b/b=1.000000因为b为double类型;所以(int)a+b/b=5+1.000000;in

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

【100天精通Python】Day63:Python可视化_Matplotlib绘制子图,子图网格布局属性设置等示例+代码

 目录1基本子图绘制示例2子图网格布局3调整子图的尺寸4多行多列的子图布局5子图之间的共享轴6绘制多个子图类型7实战:绘制一个大图,里面包含6个不同类别的子图,不均匀布局。绘制子图(subplots)是在Matplotlib中创建多个子图的常见任务。通过子图,您可以将多个图形放置在同一图表中,以便比较不同的数据或可视化多个相关的图形。一般流程如下:创建图形对象:首先,您需要创建一个图形对象,可以使用plt.figure()函数来完成。该图形对象代表整个图形窗口,您可以在其中放置多个子图。添加子图:使用fig.add_subplot()函数来添加子图。这个函数接受三个参数,分别是行数、列数和子图

Day52力扣打卡

打卡记录CollapsingStrings(Trie树)链接#include#includeusingnamespacestd;constintN=2e6+10;intson[N][26],idx,cnt1[N],cnt2[N];intmain(){ autoinsert=[&](string&str,int*cnt){ intp=0; for(inti=0;istr.size();++i) { intu=str[i]-'a'; if(!son[p][u])son[p][u]=++idx; p=son[p][u]; cnt[p]++; } }; intn=0; long

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,相加后均不会进位,

vue 学习 -- day39(reactive 对比 ref)

从定义数据角度对比:ref用来定义:基本类型数据。reactive用来定义:对象(或数组)类型数据。备注:ref也可以用来定义对象(或数组)类型数据,它内部会自动通过reactive转为代理对象。从原理角度对比:ref通过Object.defineProperty()的get与set来实现响应式(数据劫持)。reactive通过使用Proxy来实现响应式(数据劫持),并通过Reflect操作源对象内部的数据。从使用角度对比:ref定义的数据:操作数据需要.value,读取数据时模板中直接读取不需要.value。reactive定义的数据:操作数据与读取数据:均不需要.value。一般来说,会把

代码随想录算法训练营第四十八天 | LeetCode 121. 买卖股票的最佳时机、122. 买卖股票的最佳时机 II

代码随想录算法训练营第四十八天|LeetCode121.买卖股票的最佳时机、122.买卖股票的最佳时机II文章链接:买卖股票的最佳时机买卖股票的最佳时机II视频链接:买卖股票的最佳时机买卖股票的最佳时机II1.LeetCode121.买卖股票的最佳时机1.1思路在本题中我们要通过买卖一次股票而赚的最多。股票买卖问题是动态规划解决的比较经典的一系列,可能这题也能用贪心或者别的思路解决,但这些只能解决具体场景的题目,动态规划是解决一系列的题目。dp数组及其下标的含义:第i天有两个状态买与不买这只股票,因此需要定义二维数组dp[i][0]:表示持有这只股票,所得的最大现金;dp[i][1]:表示不持