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
蓝桥杯_算法训练
蓝桥杯
--生日蜡烛
1.题目2.思路利用两个for循环第一个for循环表示从第几年开始过生日第二个表示以后每一年的加数具体在代码体出现3.代码publicclassJ79{publicstaticvoidmain(String[]args){intsum=0;//总蜡烛数for(inti=1;i<100;i++){//表示从第i年开始过生日sum+=i;//加上蜡烛数for(intj=i+1;j<100;j++){/
演绎平生
·
2024-02-05 04:07
蓝桥杯
职场和发展
第七届
蓝桥杯
---生日蜡烛
生日蜡烛某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。请问,他从多少岁开始过生日party的?请填写他开始过生日party的年龄数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。package第七届;publicclassT2{publicstaticvoidmain(String[]args){for(
摘星辰_
·
2024-02-05 04:37
java
蓝桥杯
生日蜡烛
蓝桥杯
-生日蜡烛
生日蜡烛某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。请问,他从多少岁开始过生日party的?请填写他开始过生日party的年龄数。暴力枚举。packagedemoLQB;publicclassdemo3{publicstaticvoidmain(String[]args){intend,start;for(start=1;
qwz_cv
·
2024-02-05 04:06
java
蓝桥杯
蓝桥杯
---生日蜡烛
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛,现在算起来,他一共吹熄了236根蜡烛。请问,他从多少岁开始过生日party的?请填写他开始过生日party的年龄数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。分析等差数列求和代码publicclass_02生日蜡烛{publicstaticvoidmain(String[]args){//枚举
疯狂小羊啊
·
2024-02-05 03:35
蓝桥杯
蓝桥杯
算法
java
代码随想录
算法训练
营第三十九天| 62.不同路径、63. 不同路径 II
62.不同路径题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台解题思路:机器人每次只能向下或者向右移动一步。所以只需要考虑当前位置上方和左方元素的值,相加即可。java:classSolution{publicintuniquePaths(intm,intn){int[][]dp=newint[m][n];for(inti=0;i
麦城稻香咖啡
·
2024-02-05 03:13
算法
代码随想录
算法训练
营第三十八天|416. 分割等和子集
416.分割等和子集publicbooleancanPartition(int[]A){intN=A==null?0:A.length;if(N>1;//这个dp表示着一开始可以访问的点集//我们用true表示这个点存在于点集中//分割为等和,那么相当于要取同值的一半//这个dp表示着一开始可以访问的点集//我们用true表示这个点存在于点集中//false表示这个点不存在点集中boolean[]
m0_37767445
·
2024-02-05 03:12
算法
动态规划
代码随想录
算法训练
营第三十八天| 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
509.斐波那契数题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台解题思路:无需思路classSolution{publicintfib(intn){if(n==0)return0;if(n==1)return1;returnfib(n-1)+fib(n-2);}}70.爬楼梯题目链接:解题思路:首先是dp[i-1],上i-1层楼梯,有dp[i-1]种方法,那么再一步跳一个台阶不
麦城稻香咖啡
·
2024-02-05 03:12
算法
蓝桥杯
刷题--python-1
0门牌制作-蓝桥云课(lanqiao.cn)importosimportsys#请在此输入您的代码res=0foriinrange(1,2021):x=str(i)res+=x.count('2')print(res)0卡片-蓝桥云课(lanqiao.cn)importosimportsys#请在此输入您的代码res_1=0foriinrange(1,99999999999999999):res_
芝士小熊饼干
·
2024-02-05 00:41
l蓝桥杯刷题python
蓝桥杯
职场和发展
算法训练
day33 | 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果
1005.K次取反后最大化的数组和题目链接:K次取反后最大化的数组和思路:先把数组元素按绝对值由大到小排序,排序后进行遍历把负数取反,一定要先排序再取反才能确保先把绝对值大的负数取反。如果数组中负数全部取一次反后还没达到K次。判断剩余次数的奇偶性,若是偶数不用做任何操作了,若为奇数把数组中最小值取一次反即可,最后计算出最大化的数组和。//时间复杂度:O(nlogn)//空间复杂度:O(1)clas
qq_41943352
·
2024-02-04 23:14
算法
算法训练
day35 | 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球
860.柠檬水找零题目链接:柠檬水找零找零只用分三种情况即可情况一:账单是5,直接收下。情况二:账单是10,消耗一个5,增加一个10情况三:账单是20,优先消耗一个10和一个5,如果不够,再消耗三个5需要注意的是情况三,对20找零时应该先判断一个10和一个5的情况,因为5是万能的,先把5用完的话情况二就不能满足了。//时间复杂度:O(n)//空间复杂度:O(1)classSolution{publ
qq_41943352
·
2024-02-04 23:11
算法
2022
蓝桥杯
C++刷题记录
PREV-284杨辉三角形【第十二届】【省赛】【研究生组】链接:杨辉三角题详解Java.这个博客讲的算清楚的,就是我对于Check还是一知半解。。。注意要点longlong类型是AC的关键!!!#include#includeusingnamespacestd;longlongN;//计算组合数longlongC(inta,intb){longlongsum=1;for(inti=a,j=1;jN
yyjshang
·
2024-02-04 23:57
Cpp
Learning
Road
c++
蓝桥杯
python
蓝桥杯
真题刷题打卡 | day2
目录数字三角形卡片排序成绩分析等差素数列数字三角形2020省赛动态规划dp输入输出样例输入:5738810274445265输出:27代码:importosimportsys#请在此输入您的代码h=int(input())#输入数据W=[list(map(int,input().split()))foriinrange(h)]#循环遍历计算到每一行的和的最大值foriinrange(1,h):fo
代码魔法师!
·
2024-02-04 23:56
python算法
python
蓝桥杯
动态规划
【第八届】
蓝桥杯
JavaB组刷题总结
第一题:购物单题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。这不,大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞
小白不菜ly
·
2024-02-04 23:56
蓝桥杯JavaB组刷题
Java基础
蓝桥杯
java
职场和发展
蓝桥杯
真题刷题6.隔行变色
#includeusingnamespacestd;intmain(){inta=0;intb=0;intcount=0;for(a=21;a<=50;a+=2){count++;}cout<<count<<endl;return0;}
失落的香蕉
·
2024-02-04 22:56
c++
算法
开发语言
蓝桥杯
真题刷题8.积分之谜
#include#includeintmain(intargc,char*argv[]){//请在此输入您的代码inta,b,c;for(a=1;a<=100;a++){for(b=1;b<=100;b++){for(c=1;c<=100;c++){if(3*a+7*b+c==315&&4*a+10*b+c==420){printf("%d",a+b+c);return0;}}}}}
失落的香蕉
·
2024-02-04 22:56
java
算法
数据结构
C++写算法题时常见问题(稳定更新)
“表达式求值”问题解析5.运行报RE错误6.在set或者map里面使用结构体7.运行时报TLE时,时间复杂度问题8.double类型的输入和输出1.如何用getline函数读取用户输入的一行代码源于
蓝桥杯
演示文档
CTGU-Yoghurt
·
2024-02-04 22:55
蓝桥杯备战知识汇总
常见错误总结
c++
常见问题总结
蓝桥杯
真题刷题5.年龄问题
#includeusingnamespacestd;intmain(){intm;for(ints=20;s<100;s++){m=2*(s-20)+20;if(m==1.5*s)cout<<s;}return0;}
失落的香蕉
·
2024-02-04 22:55
算法
c++
数据结构
蓝桥杯
真题刷题7.三角形面积
#includeusingnamespacestd;intmain(){//请在此输入您的代码cout<<8*8-8*2/2-8*4/2-4*6/2;return0;}
失落的香蕉
·
2024-02-04 22:55
算法
前端
javascript
蓝桥杯
经典 年号字串
年号字串【问题描述】小明用字母A对应数字1,B对应2,以此类推,用Z对应26。对于27以上的数字,小明用两位或更长位的字符串来对应,例如AA对应27,AB对应28,AZ对应52,LQ对应329。请问2019对应的字符串是什么?这是一道结果填空题,你只需要提交一个能输出正确答案的程序即可。注意:不要输出多余的内容。#includeusingnamespacestd;intmain(){cout<<"
yf743909
·
2024-02-04 22:18
蓝桥杯
职场和发展
算法训练
5-1最小公倍数
问题描述编写一函数lcm,求两个正整数的最小公倍数。样例输入一个满足题目要求的输入范例。例:35样例输出与上面的样例输入对应的输出。例:数据规模和约定输入数据中每一个数的范围。例:两个数都小于65536。int型范围是2的31次方-1=214748364765536平方为4294967296所以不能用结果不能用intlong范围2的64次方-1=9223372036854775807可以用穷举法:
就这样吧嘞
·
2024-02-04 22:57
代码随想录
算法训练
营第8天—字符串02 | ●28. 实现 strStr()(KMP) ●459.重复的子字符串 ●字符串总结 ●双指针回顾
今天的任务包含两道KMP的题,在一刷的时候先不做,主要理解算法思路,二刷再过这两道题*28.实现strStr()题目链接/文章讲解/视频讲解:https://programmercarl.com/0028.%E5%AE%9E%E7%8E%B0strStr.html考点KMP我的思路暴力法视频讲解关键点总结KMP算法目的在字符串匹配失败时,充分利用之前已经匹配成功的部分,从而提升算法的运行效率实现方
日拱一卒的吾
·
2024-02-04 22:24
Leetcode
代码随想录(Python)
算法
python
代码随想录
算法训练
营第7天—字符串01 | ● 344.反转字符串 ● *541. 反转字符串II ● 卡码网:54.替换数字 ● 151.翻转字符串里的单词 ● 卡码网:55.右旋转字符串
344.反转字符串题目链接/文章讲解/视频讲解:https://programmercarl.com/0344.%E5%8F%8D%E8%BD%AC%E5%AD%97%E7%AC%A6%E4%B8%B2.html考点双指针我的思路双指针视频讲解关键点总结和我的思路一致我的思路的问题无代码书写问题无可执行代码classSolution(object):defreverseString(self,s)
日拱一卒的吾
·
2024-02-04 22:23
Leetcode
代码随想录(Python)
算法
python
代码随想录
算法训练
营第9天—栈与队列01 | ● 理论基础 ● 232.用栈实现队列 ● *225. 用队列实现栈
理论基础见我的另一篇文章232.用栈实现队列题目链接/文章讲解/视频讲解:https://programmercarl.com/0232.%E7%94%A8%E6%A0%88%E5%AE%9E%E7%8E%B0%E9%98%9F%E5%88%97.html考点栈的基本操作我的思路无视频讲解关键点总结用两个栈stack_in和stack_out分别实现入队列和出队列的操作入队列直接入栈stack_i
日拱一卒的吾
·
2024-02-04 22:22
Leetcode
代码随想录(Python)
算法
python
开发语言
2024/2/1 备战
蓝桥杯
3-3 二叉树
目录二叉树的遍历B3642二叉树的遍历-洛谷|计算机科学教育新生态(luogu.com.cn)完全二叉树的权值0完全二叉树的权值-蓝桥云课(lanqiao.cn)美国血统AmericanHeritageP1827[USACO3.4]美国血统AmericanHeritage-洛谷|计算机科学教育新生态(luogu.com.cn)求先序排列P1030[NOIP2001普及组]求先序排列-洛谷|计算机科
极度的坦诚就是无坚不摧
·
2024-02-04 21:12
寒假集训
蓝桥杯
算法
数据结构
蓝桥杯
c++
c语言
2024/2/4 备战
蓝桥杯
5-1 前缀和
目录求和0求和-蓝桥云课(lanqiao.cn)可获得的最小取值0可获得的最小取值-蓝桥云课(lanqiao.cn)领地选择P2004领地选择-洛谷|计算机科学教育新生态(luogu.com.cn)求和0求和-蓝桥云课(lanqiao.cn)思路:先对公式进行合并同类相,然后用前缀和完整代码:#include#defineintlonglongconstintN=2e6+10;inta[N],su
极度的坦诚就是无坚不摧
·
2024-02-04 21:10
寒假集训
蓝桥杯
蓝桥杯
c++
c语言
算法
数据结构
【
蓝桥杯
选拔赛真题64】python数字塔 第十五届青少年组
蓝桥杯
python 选拔赛比赛真题解析
python数字塔第十五届
蓝桥杯
青少年组python比赛选拔赛真题一、题目要求(注:input()输入函数的括号中不允许添加任何信息)提示信息:数字塔是由N行数堆积而成,最顶层只有一个数,次顶层两个数,
小兔子编程
·
2024-02-04 21:35
python数塔
python数字塔
python蓝桥杯真题
蓝桥杯python真题
python动态规划算法
python递推法
python算法
蓝桥杯
第二章——查找与排序
关于递归:在函数内部调用本身这个函数叫做递归。通常把一个大型复杂的问题转化为一个与原问题相似的规模较小的问题来求解。注意:为了避免死循环,函数内部一定要有“出口”,即返回条件。关于递归的简单应用:1.求阶乘#includeusingnamespacestd;intfun(intx){if(x==1)return1;x*=fun(x-1);returnx;}intmain(){intx;while(
√21
·
2024-02-04 20:24
蓝桥杯
蓝桥杯
acm
新手
查找排序
递归
4496
蓝桥杯
求函数零点 简单
4496
蓝桥杯
求函数零点简单//C风格解法1,通过率100%#include//inta,b;一定会自动初始化为0intmain(){inta=2,b=3;//定义a,b,不会自动初始化,最好自己定义时初始化
F87523399332578_
·
2024-02-04 20:53
蓝桥杯
蓝桥杯
3338
蓝桥杯
wyz的数组IV 简单
3338
蓝桥杯
wyz的数组IV简单//C++风格解法1,通过率50%#includeintmain(){std::ios::sync_with_stdio(false);std::cin.tie(nullptr
F87523399332578_
·
2024-02-04 20:53
蓝桥杯
蓝桥杯
c++
3593
蓝桥杯
查找最大元素 简单
3593
蓝桥杯
查找最大元素简单//C风格解法1,通过率100%,多组数据处理样式//str="abcdefgfedcba"//abcdefg(max)fedcba//str="xxxxx"//x(max
F87523399332578_
·
2024-02-04 20:22
蓝桥杯
算法
数据结构
蓝桥杯
python_
蓝桥杯
刷题记录_笔记_全AC代码_入门4
题单目录1.P1914小书童——凯撒密码2.P1028[NOIP2001普及组]数的计算3.P1036[NOIP2002普及组]选数4.P1149[NOIP2008提高组]火柴棒等式5.P1217[USACO1.5]回文质数PrimePalindromes6.P1478陶陶摘苹果(升级版)7.P1618三连击(升级版)1.P1914小书童——凯撒密码n=int(input())str=input(
Hooray11
·
2024-02-04 20:25
刷题笔记
笔记
代码随想录
算法训练
营day 21|第六章 二叉树part07
530.二叉搜索树的最小绝对差需要领悟一下二叉树遍历上双指针操作,优先掌握递归题目链接/文章讲解:代码随想录视频讲解:二叉搜索树中,需要掌握如何双指针遍历!|LeetCode:530.二叉搜索树的最小绝对差_哔哩哔哩_bilibili这道题首先就是要把握好二叉搜索树的特性——中序遍历的结果一定是从小到大排列的,而寻找的是最小差值,就意味着一定是要从两个最相近的值中得到最小值。使用递归的方法。直接在
.wsy.
·
2024-02-04 18:51
代码随想录训练营
算法
代码随想录
算法训练
营day 23|第六章 二叉树part09
669.修剪二叉搜索树这道题目比较难,比添加增加和删除节点难的多,建议先看视频理解。题目链接/文章讲解:代码随想录视频讲解:你修剪的方式不对,我来给你纠正一下!|LeetCode:669.修剪二叉搜索树_哔哩哔哩_bilibili递归的做法是将首先确定当前节点的值是否小于左边界,如果小于左边界,那么就给它的祖先节点返回当前节点的右孩子(注意不是直接返回右孩子,而是它的返回递归函数),同理如果它的值
.wsy.
·
2024-02-04 18:51
代码随想录训练营
算法
代码随想录
算法训练
营第十一天|递归遍历、迭代遍历、统一迭代
理论基础需要了解二叉树的种类,存储方式,遍历方式以及二叉树的定义文章讲解:代码随想录二叉树有两种主要的形式:满二叉树和完全二叉树。优先级队列其实是一个堆,堆就是一棵完全二叉树,同时保证父子节点的顺序关系。二叉搜索树要保证左根右的大小关系。平衡二叉树是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。遍历方法——深度优先遍历前序遍历(递归法,迭代法)中序遍历(递
.wsy.
·
2024-02-04 18:50
代码随想录训练营
算法
代码随想录
算法训练
营day 20|第六章 二叉树 part06
654.最大二叉树又是构造二叉树,昨天大家刚刚做完中序后序确定二叉树,今天做这个应该会容易一些,先看视频,好好体会一下为什么构造二叉树都是前序遍历题目链接/文章讲解:代码随想录视频讲解:又是构造二叉树,又有很多坑!|LeetCode:654.最大二叉树_哔哩哔哩_bilibili这个递归还是挺好写的,思路什么的很容易想到——classSolution{private://在左闭右开区间[left,
.wsy.
·
2024-02-04 18:50
代码随想录训练营
算法
代码随想录
算法训练
营第七天|KMP算法-28. 实现 strStr()、459.重复的子字符串、字符串总结、双指针回顾
KMP算法能够记住已经比较过的和模式串相等的部分,然后就着它继续比较,就好像是有记忆的比较。概念前缀是指不包含最后一个字符的所有以第一个字符开头的连续子串后缀是指不包含第一个字符的所有以最后一个字符结尾的连续子串next数组存储的是当前子串(next[i]即对应前i个字符组成的字符串)的最长前缀(存在相同后缀)的下一个位置的下标,用于跳转到(有记忆地比较)字符的下一个。e.g.issinext=1
.wsy.
·
2024-02-04 18:20
代码随想录训练营
算法
代码随想录
算法训练
营第八天|232.用栈实现队列、225. 用队列实现栈
理论基础了解一下栈与队列的内部实现机智,文中是以C++为例讲解的。文章讲解:代码随想录栈和队列是STL(C++标准库)里面的两个数据结构。三个最为普遍的STL版本:HPSTL:其他版本的C++STL,一般是以HPSTL为蓝本实现出来的,HPSTL是C++STL的第一个实现版本,而且开放源代码。P.J.PlaugerSTL:由P.J.Plauger参照HPSTL实现出来的,被VisualC++编译器
.wsy.
·
2024-02-04 18:20
代码随想录训练营
数据结构
代码随想录
算法训练
营第十天|239. 滑动窗口最大值、347.前 K 个高频元素
239.滑动窗口最大值(一刷至少需要理解思路)之前讲的都是栈的应用,这次该是队列的应用了。本题算比较有难度的,需要自己去构造单调队列,建议先看视频来理解。题目链接/文章讲解/视频讲解:代码随想录这道题的整体思路是建立一个自己的特殊队列,要求这个队列保证单调不增。这样每次求最大值的时候直接取队列的front元素就行。要注意一点,可能成为最大值的除了当前的最大值还有之后的值,故而当前窗口涉及的值中,如
.wsy.
·
2024-02-04 18:20
代码随想录训练营
算法
代码随想录
算法训练
营第五天|242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
哈希表理论基础文章讲解:代码随想录总结:哈希表用于快速判断一个元素是否出现在集合里面。如果不同数值的哈希值相等,就产生了哈希碰撞。解决方法包括拉链法/链地址法(使用链表链接冲突元素)和开放地址法(换个位置,常见用线性探测法、平方探测法、双散列探测法、再散列)。常见的三种哈希结构:数组、set(集合)、map(映射)。因为红黑树是一种平衡二叉搜索树,key值是有序排列的,所以不能随意修改key的值,
.wsy.
·
2024-02-04 18:50
代码随想录训练营
算法
哈希算法
代码随想录
算法训练
营day 22|第六章 二叉树part08
235.二叉搜索树的最近公共祖先相对于二叉树的最近公共祖先本题就简单一些了,因为可以利用二叉搜索树的特性。题目链接/文章讲解:代码随想录视频讲解:二叉搜索树找祖先就有点不一样了!|235.二叉搜索树的最近公共祖先_哔哩哔哩_bilibili这道题明晃晃就要是要利用二叉搜索树的节点大小的特点,如果当前节点的值比这两个的都要大,那就往左边找(单独左子树递归即可),如果当前的值比这两个的值都要小那就往右
.wsy.
·
2024-02-04 18:48
代码随想录训练营
算法
代码随想录
算法训练
营Day25 | 216.组合总和III、17.电话号码的字母组合
216.组合总和III与77.组合差不多,就返回条件中收集结果步骤多了一步判断,同时剪枝策略多了一种vector>ans;vectorpath;intsum=0;voidbacktracking(intnum,int&k,int&n){if(path.size()==k){if(sum==n)ans.push_back(path);return;}//剪枝1:同77.组合//剪枝2:如果当前数已经
Y_Vollerei
·
2024-02-04 17:57
算法
数据结构
代码随想录
算法训练
营Day14 | 94.二叉树的中序遍历、144.二叉树的前序遍历、145.二叉树的后序遍历
二叉树理论基础二叉树的种类满二叉树节点数量为2k-1完全二叉树在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置二叉搜索数二叉搜索数对节点布局没有要求,但必须保证元素的排列是有序的·若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;·若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;·它的左、右子树也分别
Y_Vollerei
·
2024-02-04 17:26
算法
代码随想录
算法训练
营Day18 | 513. 找树左下角的值、112.路径总和、106.从中序与后序遍历序列构造二叉树
513.找树左下角的值这题按照之前的前序遍历思路也不算难,但是为了判断条件需要建很多变量,细节也很多。递归——前序遍历思路:保存最大深度与最大左转次数。满足以下条件之一则进行更新:1、当前层数大于最大层数2、当前层数等于最大层数,但左转次数大于最大左转次数·返回值类型:void,不需要返回值,将结果使用一个引用进行维护即可·传入参数:TreeNode*cur:当前节点的指针intdepth:当前深
Y_Vollerei
·
2024-02-04 17:26
数据结构
代码随想录
算法训练
营Day20 | 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树
654.最大二叉树每次都从序列中搜索最大值,以该值为界分割序列进行递归即可。·返回值类型:TreeNode*,返回当前子树的节点指针·传入参数:vectornums:用于构建当前子树的序列数组·终止条件:序列为空,返回nullptr表示当前子树为空·单层递归逻辑——前序遍历:中:从序列中搜索最大值,构造根节点指针左:递归构造左子树,传入最大值左侧的序列右:递归构造右子树,传入最大值右侧的序列Tre
Y_Vollerei
·
2024-02-04 17:26
算法
数据结构
代码随想录
算法训练
营Day22 | 235. 二叉搜索树的最近公共祖先、701. 二叉搜索树中的插入操作、450. 删除二叉搜索树中的节点
235.二叉搜索树的最近公共祖先这题相比于236简单很多,由于二叉搜索树的性质,从上向下遍历,找到第一个值介于p与q之间节点即为最近公共祖先(一侧子树上的所有节点都大于/小于根节点,所以公共祖先的值一定介于p和q之间)TreeNode*ans=nullptr;voidtraversal(TreeNode*cur,int&i1,int&i2){if(!cur||ans)return;if((cur-
Y_Vollerei
·
2024-02-04 17:26
算法
代码随想录
算法训练
营Day23 | 669. 修剪二叉搜索树、108. 将有序数组转换为二叉搜索树、538. 把二叉搜索树转换为累加树
669.修剪二叉搜索树这题需要发现一个点:如果一个节点不满足区间条件,那么其某一边的子树一定也不满足区间条件(如一个节点的值大于上界,那么它右子树的所有节点也一定都大于上界),所以这题只会出现450中的情况1、2、3,不会出现最棘手的情况4。包含内存释放操作的递归写法(内存释放需要多写很多行代码)://后序遍历,从底向上释放该树所有节点的内存voiddeleteTree(TreeNode*cur)
Y_Vollerei
·
2024-02-04 17:26
算法
代码随想录
算法训练
营Day7 | 454.四数相加II、383.赎金信、15.三数之和、18.四数之和
454.四数相加II最简单的思路肯定是暴力循环。除了暴力循环外,最开始的思路是能否嵌套map一层层地查询,这样每个数组都只需遍历一遍,时间复杂度是O(n)。但是继续想发现除了最后一层,其他层的查询条件全都未知,只能放弃了这个想法。之后又想能不能对四个数组进行分组,12一组34一组,分别嵌套循环,这样时间复杂度是n^2+n^2即O(n^2)。好像可行就写了下去,想的是使用set实现,但写着写着发现由
Y_Vollerei
·
2024-02-04 17:56
算法
代码随想录
算法训练
营Day17 | 110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和
110.平衡二叉树思路的重点是判断完一个子树是否是平衡二叉树时如何返回结果。开始想的是把递归的返回值类型设置为bool,但是这样就无法返回子节点的高度信息,最后还是没想明白。思路:不断获取子节点的高度,如果两侧节点高度差大于1,说明该节点代表的子树是非平衡二叉树,返回-1即可。最后递归的结果如果是-1,说明是非平衡二叉树。//计算当前节点高度,//如果左右子树的高度差大于1说明当前子树是非平衡二叉
Y_Vollerei
·
2024-02-04 17:56
算法
数据结构
代码随想录
算法训练
营Day24 | 回溯理论基础、77.组合
回溯理论基础回溯和递归是相辅相成的,只要有递归就有回溯(执行完一次递归就自动回溯到上一层)回溯的效率回溯不是一个高效的算法,而是一个纯暴力的过程有些问题没有更好的解法,只能使用暴力搜索,这时就可以使用回溯法。包括以下问题:1、组合问题2、切割问题3、子集问题4、排列问题5、棋盘问题(N皇后、解数独等)如何理解回溯法回溯法解决的问题都可以抽象为树形结构(N叉树)回溯法的模板voidbacktrack
Y_Vollerei
·
2024-02-04 17:25
算法
蓝桥杯
每日一题----区间dp
前言暂时没啥好说的,直接进入正题吧引入涂色PAINT读题发现要求的是使一段区间满足要求的最小操作次数,考虑用动态规划去做。第一步:考虑缩小规模,这里的规模其实就是区间长度,那么dp数组应该可以表示某个区间,所以到这里dp数组至少是二维的,也就是dp[i][j],表示让区间[i,j]合法的最小操作次数。第二步:考虑限制,这里暂时看不出来有啥限制,那就先不管。第三步:根据写出来的dp数组推转移方程,d
花落yu
·
2024-02-04 16:17
蓝桥杯
职场和发展
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
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
其他