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数据结构
leetcode
刷题记录:二叉树1(纲领篇)
摘自labuladong的算法小抄:https://labuladong.online/algo/essential-technique/binary-tree-summary-2/1.二叉树的遍历框架voidtraverse(TreeNode*root){if(!root){return;}//前序位置traverse(root->left);//中序位置traverse(root->right
小新0077
·
2024-02-20 03:40
2024算法工程师求职
leetcode
算法
职场和发展
leetcode
刷题记录:二叉树03(构造二叉树)
参考:https://labuladong.online/algo/data-structure/binary-tree-part2/构造问题一般都是通过分解的思路,构造整棵树=根节点+构造左子树+构造右子树654最大二叉树找到最大值和对应的index先把根节点构造出来,然后递归地构造左子树和右子树需要一个traverse函数,传入nums的索引,返回以nums[lo:hi]构造的最大二叉树。cl
小新0077
·
2024-02-20 03:40
2024算法工程师求职
leetcode
算法
职场和发展
堆排序算法
二叉树-堆应用(1)-CSDN博客HeapSort堆排序堆排序(Heapsort)是指利用堆积树(堆)这种
数据结构
所设计的一种排序算法,它是选择排序的一种。它是通过堆来进行选择数据。
唐唐思
·
2024-02-20 03:38
初阶数据结构
数据结构
C语言
算法
排序算法
LeetCode
--2298. 周末任务计数
文章目录1题目描述2测试用例3解题思路1题目描述表:Tasks+-------------+------+|ColumnName|Type|+-------------+------+|task_id|int||assignee_id|int||submit_date|date|+-------------+------+task_id是该表的主键(具有唯一值的列)。此表中的每一行都包含任务ID、
安全新司机
·
2024-02-20 03:35
MySQL
LeetCode
leetcode
算法
mysql
leetcode
刷题记录:二叉树02(思路篇)
参考labuladong的算法小抄:https://labuladong.online/algo/data-structure/binary-tree-part1/复习二叉树纲领篇,二叉树解题的思维模式分两类:1、是否可以通过遍历一遍二叉树得到答案?如果可以,用一个traverse函数配合外部变量来实现,这叫「遍历」的思维模式。2、是否可以定义一个递归函数,通过子问题(子树)的答案推导出原问题的答
小新0077
·
2024-02-20 03:34
2024算法工程师求职
leetcode
数据结构
算法
LeetCode
-091-解码方法
一条包含字母A-Z的消息通过以下映射进行了编码:'A'->1'B'->2...'Z'->26要解码已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,"111"可以将"1"中的每个"1"映射为"A",从而得到"AAA",或者可以将"11"和"1"(分别为"K"和"A")映射为"KA"。注意,"06"不能映射为"F",因为"6"和"06"不同。给你一个只含数字的非空
刻苦驴哝
·
2024-02-20 03:14
模拟卷
Leetcode
【普通】049. 字母异位词分组
049.字母异位词分组给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母都恰好只用一次。示例1:输入:strs=[“eat”,“tea”,“tan”,“ate”,“nat”,“bat”]输出:[[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]示例2:输入:strs=[
邂逅模拟卷
·
2024-02-20 03:32
#
leetcode
leetcode
算法
职场和发展
Leetcode
978. Longest Turbulent Subarray
文章作者:Tyan博客:noahsnail.com|CSDN|1.DescriptionLongestTurbulentSubarray2.Solution解析:Version1,根据题意,数字的大小关系一直在反转,因此这里采用一个布尔值来表示下一个比较状态,每次比较后都将布尔值反转,只要比较状态和布尔值相等,则动荡序列的长度加1。由于初始布尔值状态未知,因此设为None。当前数字与下一个数字相等
SnailTyan
·
2024-02-20 02:11
leetcode
120 三角形最小路径和
题目给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[[2],[3,4],[6,5,7],[4,1,8,3]]自顶向下的最小路径和为11(即,2+3+5+1=11)。说明:如果你可以只使用O(n)的额外空间(n为三角形的总行数)来解决这个问题,那么你的算法会很加分。分析当然是使用O(N)的额外空间复杂度啦。简单dp,状态转移方程见代码。代码clas
奥利奥蘸墨水
·
2024-02-20 02:08
leetcode
1806. 还原排列的最少操作步数
题目链接:
leetcode
18061.题目给你一个偶数n,已知存在一个长度为n的排列perm,其中perm[i]==i(下标从0开始计数)。
wyj不吃草
·
2024-02-20 02:10
leetcode
leetcode
算法
深度优先
java2-2
list集合细节list集合遍历方式interator迭代器listinterator列表迭代器五种遍历方式不同
数据结构
常见的
数据结构
队列数组链表双向链表总结Arraylist底层原理Arraylist
s2532478980
·
2024-02-20 02:52
java
Leetcode
994. 腐烂的橘子 bfs解决
在给定的网格中,每个单元格可以有以下三个值之一:值0代表空单元格;值1代表新鲜橘子;值2代表腐烂的橘子。每分钟,任何与腐烂的橘子(在4个正方向上)相邻的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回-1。解题思路:其实就是一个传染问题,腐烂橘子会传染新鲜橘子,直到传染完毕或者无法传染为止1.BFSclassSolution{public:intorang
软件园里卖煎饼
·
2024-02-20 01:47
BFS
LeetCode
刷题 -- BFS
“”前面接触了深度优先搜索(DFS),现在来介绍一下广度优先搜索(BFS)。如果我们只是为了遍历一棵树、一张图上的所有结点的话,那么DFS和BFS的能力没什么差别,我们当然更倾向于更方便写、空间复杂度更低的DFS遍历。不过,某些使用场景是DFS做不到的,只能使用BFS遍历。这就是本文要介绍的两个场景:「层序遍历」、「最短路径」。代码比较:看以下两段代码,最直观的感受就是DFS比BFS的代码要简洁的
材料小菜鸟
·
2024-02-20 01:15
算法刷题
leetcode
宽度优先
深度优先
leetcode
994. 腐烂的橘子 python
题目描述:题解:广度优先搜索基本思路:1.创建一个队列myq,初始时加入grid中值为2的位置坐标。2.每次从myq中取出一个坐标(posx,posy),依次判断该位置上下左右四个相邻位置的grid值是否为1,如果是1,将该相邻位置加入myq,并将grid中该位置的值修改为2,表示已经被处理。3.由于此题中需要计算处理完成需要的时间,所以第二步实现的时候需要做一点处理,不直接把坐标位置加入myq,
岗岗ganggang
·
2024-02-20 01:45
leetcode广度优先搜索
leetcode图
python
leetcode
算法
LeetCode
-338. Counting Bits [C++][Java]
LeetCode
-338.CountingBitshttps://
leetcode
.com/problems/counting-bits/题目描述Givenanintegern,returnanarrayansoflengthn
贫道绝缘子
·
2024-02-20 01:45
LeetCode刷题怪
leetcode
LeetCode
--338. Counting Bits
对于整型数i,计算0-i范围的每个数的二进制表达中含有1的数目,很显然假设k的二进制表达中含有1的数目为f(k),k+1的二进制表达中含有1的数目为f(k+1)必然与前面算过的f(i)相关,显然是用动规解决。经过分析发现:publicstaticint[]countBits(intnum){intmax=(int)(Math.log10(Integer.MAX_VALUE)/Math.log10(
To_be_thinking
·
2024-02-20 01:15
LeetCode
-338. Counting Bits
LeetCode
-338.CountingBits题目描述:https://
leetcode
.com/problems/counting-bits/解题思路当然,如果逐位取模再判断是不是1来计算1的个数当然可以
ke1950523491
·
2024-02-20 01:15
LeetCode编程
二进制中1的个数
Leetcode
-338. Counting Bits
Originallink:https://
leetcode
.com/problems/counting-bits/Thisquestiongivesanumberandrequiresalistreturned.Eachelementinthelistrepresentshowmany
Liuu Zn
·
2024-02-20 01:15
Leetcode
Leetcode
LeetCode
- 338. Counting Bits
1.问解题步骤##1.问题描述描述:给定一个非负整数num。对于0≤i≤num范围中的每个数字i,计算其二进制数中的1的数目并将它们作为数组返回。输入:非负整数输出:数组2.解题思路关键点:题目要求时间复杂度为O(n),空间复杂度O(n)。根据f(2)=1,f(3)=f(2)+1,f(4)=1,f(5)=f(1)+f(4),f(6)=f(2)+f(4),f(7)=f(3)+f(4)…;找出规律:f
阿蒙Amon
·
2024-02-20 01:45
LeetCode
leetcode
math
leetcode
刷题之BFS专题
参考资料:广度优先搜索—wikipedia最短路径问题—wikipedia目录广度优先算法一、概念二、实现方法(利用Queue)三、时空复杂度四、应用最短路径问题层序遍历一、二叉树的层序遍历(母题):
leetcode
芊欣欲
·
2024-02-20 01:44
leetcode
java
广度搜索
bfs
leetcode
-- 338. Counting Bits
Givenanonnegativeintegernumbernum.Foreverynumbersiintherange0≤i≤numcalculatethenumberof1'sintheirbinaryrepresentationandreturnthemasanarray.Example1:Input:2Output:[0,1,1]Example2:Input:5Output:[0,1,1,
名字被猪吃掉了
·
2024-02-20 01:44
leetCode
反复看
LeetCode
--- 338. Counting Bits
338.CountingBitsDifficulty:MediumGivenanonnegativeintegernumbernum.Foreverynumbersiintherange0≤i≤numcalculatethenumberof1’sintheirbinaryrepresentationandreturnthemasanarray.Example1:Input:2Output:[0,1
MissXy_
·
2024-02-20 01:14
LeetCode
338.
Counting
Bits
338
Counting
Bits
LeetCode
-338. Counting Bits (Java)
Givenanonnegativeintegernumbernum.Foreverynumbersiintherange0≤i≤numcalculatethenumberof1'sintheirbinaryrepresentationandreturnthemasanarray.Example:Fornum=5youshouldreturn[0,1,1,2,1,2].Followup:Itisve
NOadu
·
2024-02-20 01:14
实实在在刷点题
LeetCode
Counting
Bits
Java
位运算
【
leetcode
994】腐烂的橘子(BFS)
文章目录一、题目二、思路三、代码一、题目二、思路首先将所有烂橘子入队,然后常规BFS遍历,注意while的截止条件除了队列为空,新鲜橘子数量大于0(没新鲜橘子也没必要继续遍历,保证时间计算的正确性),这两者一个不满足就可以停止每分钟进行一次【腐烂扩散】,使用BFS对二维图进行遍历,注意和二叉树的层次遍历不一样(二叉树则是只有一个根节点,这里可能有多个腐烂橘子-根节点)。auto[x,y]=q.fr
山顶夕景
·
2024-02-20 01:43
LeetCode
#
BFS和DFS
算法
BFS
leetcode
LeetCode
//C - 338. Counting Bits
338.CountingBitsGivenanintegern,returnanarrayansoflengthn+1suchthatforeachi(001-->12-->10Example2:Input:n=5Output:[0,1,1,2,1,2]Explanation:0-->01-->12-->103-->114-->1005-->101Constraints:0>1)todividet
Navigator_Z
·
2024-02-20 01:13
LeetCode
leetcode
c语言
算法
LeetCode
171. Excel Sheet Column Number
文章目录一、题目二、题解一、题目GivenastringcolumnTitlethatrepresentsthecolumntitleasappearsinanExcelsheet,returnitscorrespondingcolumnnumber.Forexample:A->1B->2C->3…Z->26AA->27AB->28…Example1:Input:columnTitle=“A”Ou
叶卡捷琳堡
·
2024-02-20 01:12
excel
算法
开发语言
leetcode
c++
【
数据结构
】图
文章目录图1.图的两种存储结构2.图的两种遍历方式3.最小生成树的两种算法(无向连通图一定有最小生成树)4.单源最短路径的两种算法5.多源最短路径图1.图的两种存储结构1.图这种
数据结构
相信大家都不陌生
rygttm
·
2024-02-20 01:04
数据结构
数据结构
算法
链表总结 -- 《
数据结构
》-- c/c++
链表的概念链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的。链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。链表的一个结点示意图:在c/c++语言中,链表一般使用结构体来定义实现;structNode{intdata;Node*next;
ros275229
·
2024-02-20 01:23
leetcode
算法学习
c++学习
链表
c++
数据结构
树和二叉树的基本知识
一、树的概念及结构1.树的概念树是一种非线性的
数据结构
,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。
聪明的海王还是想躺平
·
2024-02-20 01:21
数据结构
数据结构
c语言
【C语言】
数据结构
#实现堆
目录(一)堆(1)堆区与
数据结构
的堆(二)头文件(三)功能实现(1)堆的初始化(2)堆的销毁(3)插入数据(4)删除堆顶的数据(5)得到堆顶的数据(6)判断堆是否为空(7)得到堆内数据个数正文开始:(一
水墨不写bug
·
2024-02-20 01:20
数据结构
数据结构
算法
c语言
数据结构
-树
它是树型结构(非线性结构)结点之间具有分支,具有层次结构定义:Tree为n(n>=0)个结点的有限集n=0时为空树,n>0时满足以下两种情况:1.有且仅有一个特定的结点称之为root(根)。2.其余结点可以分为m个互不香蕉道有限集,称其为子树。度:结点的分支数,树的度为结点度的最大值。树的深度为结点的最大层次。二叉树二叉树并非树的特殊情况,他们是两种概念,二叉树结点的子树要区分左右子树,就算只有一
下水道程序员
·
2024-02-20 01:20
数据结构
C/C++编程:STL queue原理探究
概述queue是一种先进先出(FIFO)的
数据结构
,它有两个出口,如下图queue允许移除最前面元素、新增最后面元素,访问最前面和最后面的元素但是,除了可以移除最前面的元素,从最后面插入元素之外,没有其他任何反复可以存取
OceanStar的学习笔记
·
2024-02-20 01:49
C++
leetcode
C++
C++STL之Queue容器
C++STL之Queue容器1.再谈队列回顾一下之前所学的队列,队列和栈不同,队列是一种先进先出的
数据结构
,STL的队列内容极其重要,虽然内容较少但是请务必掌握,STL的队列是快速构建搜索算法以及相关的数论图论的状态存储的基础
芯片烧毁大师
·
2024-02-20 01:48
数据结构
C++
c++
开发语言
C++学习:stack
1.stack的定义和结构stack是一种后进先出(LIF0)的
数据结构
,使用前需要包含头文件,stack提供了一组函数来操作和访问元素,但它的功能相对较简单。
Douglas_fan
·
2024-02-20 01:47
C++算法
c++
学习
java
开发语言
算法
C++学习:queue
queue队列queue是一种先进先出(FIFO)的
数据结构
。queue提供了一组函数来操作和访问元素,但它的功能相对较简单。
Douglas_fan
·
2024-02-20 01:15
C++算法
c++
学习
算法
开发语言
list
数据结构
:栈
文章目录1.栈的概念及结构2.栈的实现2.1初始化2.2入栈2.3出栈2.4栈顶元素2.5栈中有效元素个数2.6检测栈是否为空2.7销毁栈2.8栈的打印今天学习一种新的
数据结构
——栈1.栈的概念及结构栈
戴墨镜的恐龙
·
2024-02-20 01:06
数据结构
数据结构
第一章节 绪论以及第二章节 线性表
参考:1.
数据结构
C语言版|第2版;2.力扣;3.2025年
数据结构
考研复习指导。三个参考分别依次对应文章三个部分。
Q天马A行空Q
·
2024-02-20 01:29
数据结构
数据结构
算法
绪论
线性表
c++
leetcode
860.柠檬水找零
题目链接题目描述:在柠檬水摊上,每一杯柠檬水的售价为5美元。顾客排队购买你的产品,(按账单bills支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付5美元、10美元或20美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付5美元。注意,一开始你手头没有任何零钱。如果你能给每位顾客正确找零,返回true,否则返回false。题解:贪心策略因为每位顾客只会向你支付5美元,10美
憨憨二师兄
·
2024-02-20 00:51
2021-01-05
IT1.
LeetCode
:找不同Java编写2021-01-05(389.找不同)英语1.墨墨背单词:复习50个单词2.每日英语听力:Couldhumansliveinunderwatercities?
幸福大黑鸭
·
2024-02-20 00:15
数据结构
-哈夫曼树
介绍哈夫曼树,指带权路径长度最短的二叉树,通常用于数据压缩中什么是带权路径长度?假设有一个结点,我们为它赋值,这个值我们称为权值,那么从根结点到它所在位置,所经历的路径,与这个权值的积,就是它的带权路径长度。比如有这样一棵树,D权值为2从根结点到D的路径为2,则此结点带权路径长度为2x2=4当一棵二叉树所有结点的带权路径之和最小时,这棵树就被称为哈夫曼树如何构建假设已经有若干带权值的结点首先需要选
四零七丶
·
2024-02-20 00:56
数据结构
算法
数据结构
-最短路径(Dijkstra算法与Floyd算法)
介绍对于网图来说,最短路径是指两顶点之间经过的边上权值之和最少的路径,其路径上第一个点记为源点,最后一个为终点。计算最短路径有两个经典算法,即迪杰斯特拉(Dijkstra)算法与弗洛伊德(Floyd)算法。Dijkstra算法这个算法是从一个给定的顶点出发,不断计算更新此顶点到目标顶点的最短路径假如有这样一张网图如果我们要求顶点0到顶点1的最短距离,那无疑是1。由于1还与2,3相连,所以我们也可以
四零七丶
·
2024-02-20 00:56
算法
数据结构
数据结构
-线索二叉树
线索指将节点连接在一起的指针在二叉树中,除根结点外,其余节点均有一个指针指向它,如果有n个结点,那么一共有n-1个有指向的指针。而n个结点一共有2n个指针,那么就会有n+1个空指针。利用这n+1个空指针,令它们指向遍历二叉树时的前驱和后继,就是创建一棵线索二叉树以中序遍历为例这样一棵二叉树的中序遍历顺序是DBEAFCG如果我们把它看成一种线性结构,在这个遍历过程中,D空出来的两个指针可以指向它的前
四零七丶
·
2024-02-20 00:26
数据结构
数据结构
-二叉树深度计算及平衡二叉树(AVL树)
二叉树的深度指一棵树中结点到根结点的距离的最大值,一般令根结点为1,其子树深度为2,以此类推计算二叉树的深度一般利用后序遍历法(左->右->根),先递归求出左右子树深度,再取最大值加1返回给双亲树,这样求出的其实是树的高度,但由于深度与高度数值相等,所以可以直接利用即intdepth(BinaryTree*T){if(T==NULL)return0;//如果为空,深度返回0intLeftD=dep
四零七丶
·
2024-02-20 00:26
数据结构
数据结构
-邻接矩阵的创建与遍历
上篇文章已经介绍了邻接矩阵的具体作用与如果利用邻接矩阵寻找相邻顶点,这次介绍重点为邻接矩阵的创建与两种遍历方式邻接矩阵的创建其结构体需要能记录顶点、顶点数、边数及邻接矩阵,即#definemax100typedefstruct{intvex[max];//顶点(假设顶点为数字,如果为字符型则需要在创建邻接矩阵时进一步对应转换)intarc[max][max];//邻接矩阵intnumN,numE;
四零七丶
·
2024-02-20 00:26
数据结构
算法
数据结构
-双指针法
介绍双指针法是一种可以在O(n)时间复杂度内解决数组、链表、字符串等
数据结构
相关的问题的方法。核心思想为使用两个指针在不同位置遍历数组或链表,从而实现特定操作。
四零七丶
·
2024-02-20 00:25
算法
数据结构
leetcode
8 字符串转换整数 (atoi)
这个题主要是要考虑清楚各种字符串组合情况,比如"+-2","+0123"这种,需要处理好第一个非空字符,这个可以为正负号和数字,后面的就只能是数字了,还有就是各种临界情况。classSolution{publicintmyAtoi(Stringstr){if(null==str||0==str.length()){return0;}intres=0;intsign=1;inti=0;while(i
justonemoretry
·
2024-02-20 00:53
Leetcode
64. 最小路径和 c++
链接:https://
leetcode
-cn.com/problems/minimum-path-sum/主要思路:1.这个题比较简单,因为题目要求了,只能向右或者向下走,逐行遍历计算最短路径就可以了。
让菜鸟飞
·
2024-02-20 00:52
代码随想录算法训练营DAY20 | 二叉树(7) (续)
一、
LeetCode
236二叉树的最近公共祖先题目链接:236.二叉树的最近公共祖先https://
leetcode
.cn/problems/lowest-common-ancestor-of-a-binary-tree
橙南花已开
·
2024-02-20 00:39
代码随想录算法训练营
算法
代码随想录算法训练营 DAY20 | 二叉树(7)
一、
LeetCode
530二叉搜索树的最小绝对值题目链接:530.二叉搜索树的最小绝对值https://
leetcode
.cn/problems/minimum-absolute-difference-in-bst
橙南花已开
·
2024-02-20 00:09
代码随想录算法训练营
算法
leetcode
刷题--贪心算法
七.贪心算法文章目录七.贪心算法1.605种花问题2.121买卖股票的最佳时机3.561数组拆分4.455分发饼干5.575分糖果6.135分发糖果7.409最长回文串8.621任务调度器9.179最大数10.56合并区间11.57插入区间13.452用最少数量的箭引爆气球14.435无重叠区间15.646最长数对链16.406按照身高重建队列17.48旋转图像18.169多数元素19.215数组
几窗花鸢
·
2024-02-20 00:08
LeetCode
leetcode
贪心算法
算法
c++
上一页
32
33
34
35
36
37
38
39
下一页
按字母分类:
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
其他