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
LeetCode中等难度刷题
算法题打卡day21 | 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先
530.二叉搜索树的最小绝对差-力扣(
LeetCode
)状态:想到了利用BST中序遍历的特性,但在实现时受到之前套路的影响。
寡悔
·
2024-02-20 20:17
算法
刷题
Day2
个人主页:小田爱学编程系列专栏:
刷题
日记关注博主,随时获取更多关于IT的优质内容!
小田爱学编程
·
2024-02-20 20:15
刷题日记
算法
蓝桥杯
c语言
刷题
Day3
个人主页:小田爱学编程系列专栏:
刷题
日记关注博主,随时获取更多关于IT的优质内容!
小田爱学编程
·
2024-02-20 20:15
刷题日记
算法
数据结构
c语言
刷题
Day1
个人主页:小田爱学编程系列专栏:
刷题
日记关注博主,随时获取更多关于IT的优质内容!
小田爱学编程
·
2024-02-20 20:14
刷题日记
算法
c语言
力扣
python
【
LeetCode
+JavaGuide打卡】Day20|530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先
学习目标:530.二叉搜索树的最小绝对差501.二叉搜索树中的众数236.二叉树的最近公共祖先学习内容:530.二叉搜索树的最小绝对差题目链接&&文章讲解给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。classSolution{//前一个节点值TreeNodepre;//结果值初始化为整数最大值intresult=Integ
WhoAmI\
·
2024-02-20 20:44
leetcode
算法
职场和发展
leetcode
148. 排序链表 java解法
Problem:148.排序链表思路这是一个链表排序的问题,由于要求时间复杂度为O(nlogn),适合使用归并排序(MergeSort)来解决。解题方法首先,使用快慢指针找到链表的中间节点,将链表分成两部分。然后,递归地对两个子链表进行排序。最后,合并两个有序的子链表。复杂度时间复杂度:O(nlogn)空间复杂度:O(logn)(递归调用栈的深度)Code/***Definitionforsing
程序员阿伦
·
2024-02-20 19:06
leetcode
链表
java
【致爱丽丝】20180225学习力践行day207
然后新宠是动物维和方阵,
刷题
刷的都不想睡觉,我一再提醒祂,明天要上学了,才依依不舍的离开桌子。
Hisi
·
2024-02-20 19:51
Leetcode
697. Degree of an Array
文章作者:Tyan博客:noahsnail.com|CSDN|1.DescriptionDegreeofanArray2.SolutionVersion1fromcollectionsimportCounterclassSolution:deffindShortestSubArray(self,nums):stat=Counter(nums)degree=0result=len(nums)fork
SnailTyan
·
2024-02-20 19:28
「
leetcode
」77.组合【回溯算法】详解!
本文https://github.com/youngyangyang04/
leetcode
-master已经收录,里面还有
leetcode
刷题
攻略、各个类型经典题目
刷题
顺序、思维导图,可以fork到自己仓库
代码随想录
·
2024-02-20 19:47
leecode题解
算法
数据结构
leetcode
回溯算法
Leetcode
77 组合
1.题目描述给定两个整数n和k,返回范围[1,n]中所有可能的k个数的组合。你可以按任何顺序返回答案。输入:n=4,k=2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]1List[List[int]]:res=[]#存储符合条件结果的集合path=[]#用来存放符合条件的结果defbacktrack(n,k,StartIndex):iflen(path)==k:
独影月下酌酒
·
2024-02-20 19:45
数据结构
Leetcode
leetcode
算法
数据结构
回溯法详解以及剪枝优化 以
leetcode
77.组合问题为例
题目描述回溯法的简单介绍回溯法是为了一类特定的问题概括起来就是集合里面根据要求搜索集合(不止一个),拿
leetcode
77.来举例,可以用多层for循环进行构思,但是要多少层呢,同时层数太多会导致时间复杂度急剧增高
学不完了ccccc
·
2024-02-20 19:45
leetcode
c++
算法
数据结构
leetcode
77 组合 js
leetcode
77组合给定两个整数n和k,返回1…n中所有可能的k个数的组合。
一只蒻蒻
·
2024-02-20 19:15
数据结构与算法
数据结构
leetcode
算法
js
leetcode
77 组合-回溯加剪枝
给定两个整数n和k,返回1…n中所有可能的k个数的组合。示例:输入:n=4,k=2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]分析:此题为较简单,使用回溯加剪枝即可解决。首先我们分析递归函数的参数,需要一个pos来表示当前选取了多少个数,同时还需要一个参数curr来表示当前是对1…n中的哪个数进行操作,对于每个curr都可以有选和不选两种选择,分别递归下去即可
伟伟伟伟~
·
2024-02-20 19:44
leetcode刷题
剪枝
算法
java
leetcode
(力扣) 77. 组合(回溯 & 剪枝-----清晰图解+回溯套路模板)
文章目录题目描述思路分析完整代码优化(剪枝);完整代码题目描述给定两个整数n和k,返回范围[1,n]中所有可能的k个数的组合。你可以按任何顺序返回答案。示例1:输入:n=4,k=2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]示例2:输入:n=1,k=1输出:[[1]]思路分析一道回溯经典应用题。题目要求的是组合不是排列,也就是[1,2][2,1]是一个答案,别
深度不学习!!
·
2024-02-20 19:43
个人笔记
交流学习
python
leetcode
1024程序员节
LeetCode
77—组合(java版)
题目描述:标签:回溯算法给定两个整数n和k,返回1...n中所有可能的k个数的组合。代码:思路分析:1、确定递归结束条件,path.size==k2、确定从左到右遍历,需要开始下标startIndex3、确定从上到下遍历,需要递归操作4、确定回溯条件,需要清除path里的元素这里需要注意的一点是不能写成result.add(path),要写成result.add(newArrayList(path
陈粑粑的小白鞋
·
2024-02-20 19:43
LeetCode
leetcode
LeetCode
39. 组合总和 回溯算法+剪枝
和216.组合总和III不同之处在于这题数组中的数字可以重复使用多次,并且没有数量要求。定义两个全局变量,result存放结果集,path存放任何条件的结果。index来指示开始的位置,length来记录每一个path数组的长度(因为每一个符合target的数组的长度不一样)。还是一样的回溯三部曲。参数:需要sum来计算总和和index来控制开始的位置。终止条件:当sum==target时,以及s
迷途小羔羊。
·
2024-02-20 19:41
LeetCode
算法
leetcode
剪枝
回溯
组合
LeetCode
77. 组合(剪枝策略的运用)
文章目录剪枝算法概述题目题解实现思路实现代码剪枝优化剪枝算法概述基本概念:在搜索算法中优化中,剪枝,就是通过某种判断,避免一些不必要的遍历过程,形象的说,就是剪去了搜索树中的某些“枝条”,故称剪枝。应用剪枝优化的核心问题是设计剪枝判断方法,即确定哪些枝条应当舍弃,哪些枝条应当保留的方法。剪枝的三个原则:正确、准确、高效剪枝的两种思路:可行性剪枝及最优性剪枝剪枝算法按照其判断思路可大致分成两类:可行
QuantumYou
·
2024-02-20 19:11
#
ICPC
洛谷
LeetCode
蓝桥杯
leetcode
剪枝
算法
LeetCode
77. 组合 回溯算法+剪枝
思路:回溯三部曲:定义两个全局变量,result存放结果集,path存放任何条件的结果。startIndex记录下一层递归搜索的起始位置。终止条件:当到达叶子节点,即pathTop==k时,result收集path,return。单层搜索过程。处理节点、递归函数、回溯操作。关于剪枝操作:画图可以观察出,要完成剪枝操作,只需在单层搜索过程中改动即可。搜索起点的上界=n-还需要的元素个数+1;即j<=
迷途小羔羊。
·
2024-02-20 19:11
LeetCode
算法
leetcode
c语言
回溯
组合
leetcode
回溯+剪枝(排列,组合,子集问题)
排列问题46.全排列给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以按任意顺序返回答案。示例1:输入:nums=[1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]排列问题,采用回溯算法解决,首先将选择过程想成树型结构,并通过回溯,得到所有的结果。排列问题需要考虑顺序,此类回溯通用解法,设一个二维数组res保存所有
abysswatcher_1
·
2024-02-20 19:11
杂项
剪枝
算法
java
leetcode
Leetcode
(77)——组合
Leetcode
(77)——组合题目给定两个整数n和k,返回范围[1,n][1,n][1,n]中所有可能的k个数的组合。你可以按任何顺序返回答案。
SmileGuy17
·
2024-02-20 19:10
Leetcode
leetcode
深度优先
算法
LeetCode
77. 组合
系列文章目录回溯算法组合相关习题:
LeetCode
77.组合文章目录系列文章目录前言一、题目简介二、思想逻辑完整代码前言回溯算法之组合问题:N个数里面按一定规则找出k个数的集合一、题目简介给定两个整数n
NumberTwoPlayer
·
2024-02-20 19:39
LeetCode
回溯算法
leetcode
算法
java
剪枝
leetcode
77 组合
原题链接首先要定义结果集合res和判断集合长度的队列path,写终止条件,然后进入递归函数,最后返回结果集res递归函数部分:首先写终止条件,在什么条件下将结果集进行保存?res.add(newArrayList分析搜索起点的上界进行剪枝搜索起点的上界+接下来要选择的元素个数-1=n其中,接下来要选择的元素个数=k-path.size(),整理得到:搜索起点的上界=n-(k-path.size()
baj001
·
2024-02-20 19:39
回溯
leetcode
深度优先
算法
Leetcode
77. 组合(Java实现 超详细注释!)
Leetcode
77.组合回溯算法的入坑题,其实本质就递归暴力搜索+回退,我觉得这道题最难的点在于怎么剪枝(我其实在文中说的也不是很清楚,后面理解透了会回来补充完善!
Println30
·
2024-02-20 19:39
Leetcode
leetcode
leetcode
77组合 剪枝条件详细解释
题目:77.组合-力扣(
LeetCode
)题解:力扣(
LeetCode
)官网-全球极客挚爱的技术成长平台思路来自代码随想录:带你学透回溯算法-组合问题(对应力扣题目:77.组合)|回溯法精讲!
猫鱼Ω
·
2024-02-20 19:07
leetcode刷题笔记
剪枝
算法
回溯
代码随想录
Leetcode
-657. 机器人能否返回原点
题目:在二维平面上,有一个机器人从原点(0,0)开始。给出它的移动顺序,判断这个机器人在完成移动后是否在(0,0)处结束。移动顺序由字符串moves表示。字符move[i]表示其第i次移动。机器人的有效动作有R(右),L(左),U(上)和D(下)。如果机器人在完成所有动作后返回原点,则返回true。否则,返回false。注意:机器人“面朝”的方向无关紧要。“R”将始终使机器人向右移动一次,“L”将
神探阿航
·
2024-02-20 19:33
java
leetcode
算法
职场和发展
Leetcode
1423.可获得的最大点数
文章目录题目原题链接思路(逆向思维)题目原题链接
Leetcode
1423.可获得的最大点数思路(逆向思维)由题目可知,从两侧选k张,总数为n张,即从中间选n-k张nums总和固定,要选k张最大的和,即从中间选
NuyoahC
·
2024-02-20 19:30
刷题
leetcode
算法
滑动窗口
滑动窗口(三)
Leetcode
30.串联所有单词的子串题目
Leetcode
30.串联所有单词的子串解法(滑动窗口)利用substr函数截取出来的s中截取出一段一段的单词,然后和words中比较是否相等。
NuyoahC
·
2024-02-20 19:59
算法
算法
c++
滑动窗口
LeetCode
| 0429. N 叉树的层序遍历【Python】
Problem
LeetCode
Givenann-arytree,returnthelevelordertraversalofitsnodes'values.Nary-Treeinputserializationisrepresentedintheirlevelordertraversal
Wonz
·
2024-02-20 18:13
【18】只出现一次的数字
来源:力扣(
LeetCode
)链接:https://
leetcode
-cn.com/problems/single-number/题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次
公孙剑人
·
2024-02-20 18:21
LeetCode
//C - 435. Non-overlapping Intervals
435.Non-overlappingIntervalsGivenanarrayofintervalsintervalswhereintervals[i]=[starti,endi][start_i,end_i][starti,endi],returntheminimumnumberofintervalsyouneedtoremovetomaketherestoftheintervalsnon-o
Navigator_Z
·
2024-02-20 18:30
LeetCode
leetcode
c语言
算法
卟弃丰盛日记 Day3
2020.11.03星期二昨天一天都在姐姐这帮她做活动方案,下午的时候有孩子上课,所以去了西西弗书店的咖啡厅
刷题
。
刷题
的瞬间,有种我是谁,我在哪里的感觉。
卟弃丶
·
2024-02-20 18:21
班主任大讲堂
这种能力不一定是靠每天
刷题
来训练,教给方法和技能,让他自己去灵活运用,才会形成应试的能力。
稳稳的幸福_c9df
·
2024-02-20 18:05
算法训练day29
Leetcode
491递增子序列46全排列47全排列Ⅱ
491递增子序列题目描述给你一个整数数组nums,找出并返回所有该数组中不同的递增子序列,递增子序列中至少有两个元素。你可以按任意顺序返回答案。数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。示例1:输入:nums=[4,6,7,7]输出:[[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6,7,7],[7,7]]示例2:输入
爱傲雪和技术的dc
·
2024-02-20 17:30
算法
数据结构
暴力枚举
刷题
3
题目来源:[NOIP2002普及组]选数-洛谷参考书目:参考书籍:《深入浅出程序设计竞赛(基础篇)》解题思路:通过位运算来枚举数组a的所有子集,然后检查每个恰好包含k个元素的子集的元素和是否为质数。如果是,那么答案(ans)就增加1。然后,最后输出ans的值。注:__builtin_popcount函数来计算一个数的二进制表示中1的个数(即集合中元素的个数)。#include#includeusi
Sking426
·
2024-02-20 17:45
暴力枚举
算法
数据结构
c++
c语言
排序
刷题
11
题目来源:[NOIP1998提高组]拼数-洛谷解题思路:这道题重点在于怎么把数字拼接,得到最大的值。这里可以用to_string()函数,将数字先转换为字符再拼接,最后得到拼接的最大值。ps:需要考虑两个相邻字符的前后两种拼接方式,ab,ba。#include#include#include#includeusingnamespacestd;boolcmp(constint&a,constint&
Sking426
·
2024-02-20 17:14
排序
算法
数据结构
c++
排序算法
c语言
暴力枚举
刷题
2
题目来源:烤鸡-洛谷参考书目:参考书籍:《深入浅出程序设计竞赛(基础篇)》解题思路:这道题可以用暴力枚举的方法解决,用10层for循环,再if判断就能找到所有符合的情况。因为n的最大值为5000,且配料的数量固定为10种。时间复杂度O(3^10),空间复杂度O(1),对于这道题来说是可行的。若n较大的情况下,不建议这种方法。#include#include#definerep(i,a,b)for(
Sking426
·
2024-02-20 17:14
暴力枚举
算法
数据结构
c++
c语言
暴力枚举
刷题
1
题目来源:统计方形(数据加强版)-洛谷参考书籍:《深入浅出程序设计竞赛(基础篇)》解题思路:这道理适合用暴力枚举求解。我把书上提到的四种枚举方法分享给大家。解题1:减少枚举量以某个坐标为顶点,统计其正方形和长方形。#include#includeusingnamespacestd;typedeflonglongLL;intmain(){LLn,m,squ=0,rec=0;cin>>n>>m;for
Sking426
·
2024-02-20 17:11
暴力枚举
算法
数据结构
c++
c语言
开发语言
LeetCode
37天 | 738.单调递增的数字 贪心算法总结
738.单调递增的数字今天就做一题,监控二叉树不想做了。从后向前找到最终的一个前大于后的情况,记录后为修改起点,前为减一操作,后面都可以为9,因此前仅减一就可以了。classSolution{public:intmonotoneIncreasingDigits(intn){intres;//inttostring的函数to_string()可以把整数转化为字符串stringnum=to_strin
星仔007
·
2024-02-20 17:56
leetcode
贪心算法
算法
leetcode
435.无重叠区间(中等)
属于区间问题的第二类题。思路一:贪心实现细节:按照右端点从小到大排序。classSolution{public:staticboolcmp(constvector&v1,constvector&v2){returnv1[1]>&intervals){intn=intervals.size();sort(intervals.begin(),intervals.end(),cmp);intr=INT_
重you小垃
·
2024-02-20 16:05
#
贪心
leetcode435
无重叠区间
0区间问题中等
LeetCode
435. 无重叠区间
435.无重叠区间描述给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。区间[1,2]和[2,3]的边界相互“接触”,但没有相互重叠。分析模拟去重复区间的行为,这是比较麻烦的,还要去删除区间。可以逆向思考,求从左向右记录非交叉区间的个数。最后用区间总数减去非交叉区间的个数就是需要移除的区间个数了。如何求不相交的区间最多有多少个?*贪心思想
18阿鲁
·
2024-02-20 16:32
动态规划
leetcode
算法
435. 无重叠区间【贪心算法】
435.无重叠区间题目链接:https://
leetcode
-cn.com/problems/non-overlapping-intervals/给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠
coolshyman
·
2024-02-20 16:58
leetcode刷题
算法
leetcode
贪心算法
LeetCode
、435. 无重叠区间【中等,贪心 区间问题】
文章目录前言
LeetCode
、435.无重叠区间【中等,贪心区间问题】题目链接及分类思路贪心、区间问题资料获取前言博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者
长路 ㅤ
·
2024-02-20 16:24
算法刷题
#
LeetCode
leetcode
算法
职场和发展
【华为OD机考 统一考试机试C卷】 游戏分组/王者荣耀(C++ Java JavaScript Python C语言)
另外订阅专栏还可以联系笔者开通在线OJ进行
刷题
,提高
刷题
效率。真题目录:华为OD机考机试真题目录(C卷+D卷+B卷+A卷)+考点说明专栏:2023华为OD机试(B
算法大师
·
2024-02-20 16:52
华为od
c语言
c++
java
python
【华为OD机考 统一考试机试C卷】 游戏分组/王者荣耀(C++题解)
另外订阅专栏还可以联系笔者开通在线OJ进行
刷题
,提高
刷题
效率。真题目录:【C++题解】华为OD机试C卷抽中题库清单(全真题库)含考点说明以及在线OJ专栏
算法大师
·
2024-02-20 16:52
(C++)
华为OD机试C卷+B卷
统一考试真题
华为od
c语言
c++
【华为OD机考 统一考试机试C卷】 游戏分组/王者荣耀(C语言)
(C语言)华为OD机试:统一考试C卷+D卷+AB卷+
刷题
OJ目前在考C卷,经过两个月的收集整理,C卷真题已基本整理完毕抽到原题的概率为2/3到3/3,也就是最少抽到两道原题。
算法大师
·
2024-02-20 16:52
(C语言)
华为OD机试C卷+B卷真题
+
在线OJ
华为od
c语言
游戏
LeetCode
160.相交链表
题目编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:image在结点c1开始相交题目链接示例输入:intersectVal=8,listA=[4,1,8,4,5],listB=[5,0,1,8,4,5],skipA=2,skipB=3输出:Referenceofthenodewithvalue=8输入解释:相交节点的值为8(注意,如果两个列表相交则不能为0)。从各自的表头开始算起,链
唐三斤
·
2024-02-20 16:22
C语言必
刷题
上(保姆式详解)
目录说明:(1)(2)错题1.printf输出(1)关于printf的输出(2)注意点2.关键字3.ASCII编码4.转义字符编辑5.变量6.for循环(1)线段图案编辑(2)for循环体(3)素数(4)"x"型图案(5)正方形图案7.while循环(1)注意点(2)求两个数的最大公约数8.switch..case语句(1)switch..case中的break(2)注意点9.数组10.函数(1)
白子寰
·
2024-02-20 16:08
C语言题目
c语言
开发语言
【C语言必
刷题
】4. 打印100~200之间的素数
博客主页:爱敲代码的小杨.✨专栏:《JavaSE语法》|《数据结构与算法》|《C生万物》❤️感谢大家点赞收藏⭐评论✍,您的三连就是我持续更新的动力❤️小杨水平有限,欢迎各位大佬指点,相互学习进步!文章目录题目描述解题思路代码题目描述使用C语言写一个程序打印100~200之间的的素数,数字中间使用空格分割。解题思路素数是指只能被1和它本身整除的正整数。我们可以遍历100~200,并找出那些数字是素数
爱敲代码的小杨.
·
2024-02-20 16:03
C生万物
c语言
算法
开发语言
代码随想录算法训练营day17|
Leetcode
110/257/404
Leetcode
257二叉树的所有路径链接:257.二叉树的所有路径-力扣(
LeetCode
)给你一个二叉树的根节点root,按任意顺序,返回所有从根节点到叶子节点的路径。
yrrej0
·
2024-02-20 15:20
算法
leetcode
职场和发展
python
数据结构
从0开始刷算法题(
leetcode
数组篇)-- day01
数组--day011.数组概述2.两数之和3.只出现一次的数字4.合并两个有序数组1.数组概述数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便,把具有相同类型的若干元素按有序的形式组织起来的一种形式。这些有序
晚•夜
·
2024-02-20 15:19
算法学习
算法
leetcode
上一页
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
其他