LeetCode 深度优先遍历

算法详解——图的深度优先遍历和广度优先遍历 图数据中的深度优先遍历算法和广度优先遍历算法 阅读详情

本文首发于公众号「zone7」,关注获取最新推文!

image

送书福利,送十本 Python 类书籍

概述

  • 前言
  • 104 二叉树的最大深度【简单】
  • 111 二叉树的最小深度 【简单】
  • 124 二叉树中的最大路径和 【困难】
  • 后记

前言

我前面的文章《python 实现二叉树的深度&&广度优先遍历
》介绍了二叉树的相关知识。《LeetCode 102 && 429 广度优先遍历
)》这篇做了一些关于广度优先遍历的题,那么今天就来做做深度优先遍历的题。请看题:

104 二叉树的最大深度 90.36%

给定一个二叉树,找出其最大深度。

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

说明: 叶子节点是指没有子节点的节点。

示例:
给定二叉树 [3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7

返回它的最大深度 3 。

思路

嗯,这题是深度优先遍历中基本遍历方法的变种,就多了后面的几行代码

解答
def maxDepth(root):
    """
    :type root: TreeNode
    :rtype: int
    """
    if not root:
        return 0
    left = maxDepth(root.left)
    right = maxDepth(root.right)
    if left == 0 and right != 0:
        left = left + 1
    if right == 0 and left != 0:
        right = right + 1
    return max(left, right) + 1
111 二叉树的最小深度

给定一个二叉树,找出其最小深度。

最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

说明: 叶子节点是指没有子节点的节点。

示例:

给定二叉树 [3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7

返回它的最小深度 2.

思路
解答
# 111. 二叉树的最小深度 84.52
def minDepth(self,root):
    """
    :type root: TreeNode
    :rtype: int
    """
    if not root:
        return 0
    left = self.minDepth(root.left)
    right = self.minDepth(root.right)
    if left == 0 and right != 0:
        return right + 1
    if left != 0 and right == 0:
        return left + 1
    return min(left, right) + 1
124 二叉树中的最大路径和

给定一个非空二叉树,返回其最大路径和。

本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。

示例 1:

输入: [1,2,3]

       1
      / \
     2   3

输出: 6
示例 2:

输入: [-10,9,20,null,null,15,7]

   -10
   / \
  9  20
    /  \
   15   7

输出: 42
思路

见题中注释

解答
# 124 二叉树中的最大路径和 效率 63.94
def maxPathSum(self, root):
    """
    :type root: TreeNode
    :rtype: int
    """
    self.result = -2 ** 31
    self.recursive(root)
    return self.result


def recursive(self, root):
    if root == None:
        return 0
    # 当左右子树,是小于 0 的时候,就将左右子树赋值为 0 ,因为题干是要求最大值,所以不可能去加一个负数
    left = max(0, self.recursive(root.left))
    right = max(0, self.recursive(root.right))
    # 比较当前节点下的最大值与上一个节点的值,将比较之后的结果记录下来
    self.result = max(self.result, root.val + left + right)
    # 注意审题,【从树中任意节点出发,达到任意节点的序列。】且【最大路径和】。这里是返回给父节点使用的,
    # 所以,可以返回 root.val (就是当前节点),也可以返回 root.val + max(left, right) (就是当前节点和他的子树)。
    # 又因为是求【最大路径和】所以最外层也使用了一个 max() 函数
    return max(root.val, root.val + max(left, right))

后记

今天的题就到这里了,都是循序渐进的,由一开始的基础遍历到现在的做题,一步一个脚印。加油!!
本文首发于公众号【zone7】,关注获取最新推文。

Windows BITS服务:后台智能文件传输技术详解 后台文件传输技术是现代IT基础设施中的关键组件,Windows BITS(Background Intelligent Transfer Service)作为微软原生解决方案,通过队列管理和智能调度实现高效数据传输。其核心技术原理包括分块传输、断点续传和带宽自适应,能够根据网络状况动态调整传输速率(默认占用空闲带宽的80%)。在工程实践中,BITS特别适用于企业软件分发和自动化数据采集场景,通过PowerShell命令即可实现高优先级传输和代理配置。相比传统FTP方案,BITS在跨国文件传输中将失败率从30 阅读详情

相关推荐

RPA实战:手把手教你打造抖音自动养号机器人(含避坑指南)

本文详细介绍了如何利用RPA技术从零构建一个智能化的抖音自动养号机器人。内容涵盖环境准备、核心工具选型、拟人化行为流程设计、代码实现模块拆解,并提供了关键的避坑指南与风控对抗策略,帮助开发者高效、稳定地实现账号自动化运营。

orange的博客 562

LeetCode-深度优先遍历(DFS)

LeetCode 深度优先遍历(DFS)相关题目

wangdsdasdasdas的博客 533

新手必看!无人机定高PID调参避坑指南:从理论到实战的完整流程

本文为无人机新手提供定高PID调参的完整指南,从传感器融合到抗风策略,详细解析多传感器融合、PID控制参数调试及环境干扰应对。通过实战案例和代码示例,帮助开发者快速掌握无人机定高技术,避免常见调参陷阱,提升飞行稳定性。

spark7igniter的博客 222

广度优先、深度优先搜索算法——LeetCode

广度优先搜索(Breadth-first Search)、深度优先搜索(Depth-first Search)算法面试题——LeetCode

void 7812

ArcMap 10.7/10.8启动加载界面后闪退?可能是这个隐藏的Normal.mxt模板文件在搞鬼

本文深入分析了ArcMap 10.7/10.8启动加载界面后闪退的问题,指出Normal.mxt模板文件损坏是常见原因。提供了从定位、删除模板文件到系统级修复的完整解决方案,帮助GIS工程师快速恢复工作流程。

weixin_28523493的博客 331

适合初学者的ROS机器人教程(1): Ubuntu下ROS创建自己的包和使用github下载的包

ROS如何创建自己的包 1. 首先创建catkin工作空间(如果你以及有了请忽略) $ mkdir catkin_ws # 创建一个文件夹里面计划放我们的项目,ws是workspace的缩写 $ cd catkin_ws # 将当前工作文件夹切换到catkin_ws这个文件夹 ~/catkin_ws$ catkin_make # 执行catkin_make创建一ROS项目 此时你的catkin_...

@司南牧|知乎|博客|易懂教程|李韬 3245

数据结构与算法之深度优先遍历

数据结构与算法之深度优先遍历

weixin_47225948的博客 3524

避开这些坑!医疗影像数据增强的6个安全操作指南(附PyTorch代码)

本文详细介绍了医疗影像数据增强的六大安全准则,包括解剖结构守恒、密度值物理意义保留和病灶特征保护等关键原则,并提供了PyTorch实战代码。通过具体案例和参数建议,帮助开发者在肺结节检测和MRI分割等医疗AI应用中实现安全有效的数据增强,避免因不当操作导致的诊断误差。

cola5的博客 555

【LeetCode 算法专题突破】二叉树的深度优先遍历(⭐)

二叉树的深度优先遍历

Locky136的博客 328

软件测试方法——等价类划分法详解

!如果下面这些资料用得到的话可以直接拿走:1、自学开发或者测试必备的完整项目源码与环境2、测试工作中所有模板(测试计划、测试用例、测试报告等)3、软件测试经典面试题4、Python/Java自动化测试实战.pdf5、Jmeter/postman接口测试全套视频获取6、Python学习路线图。

MXB1220的博客 1万+

11、机器学习中的聚类与隐马尔可夫模型

本文介绍了机器学习中的两种重要方法:聚类算法和隐马尔可夫模型(HMM)。聚类作为无监督学习的代表,适用于发现无标签数据中的结构,常见算法包括K-均值和自组织映射(SOM),并在传感器数据分析等场景中展现应用价值。隐马尔可夫模型则是一种可解释的序列模型,用于从观测数据中推断隐藏状态,广泛应用于语音识别、自然语言处理和生物信息学等领域。文章详细讲解了HMM的核心概念如马尔可夫性质、转移与发射概率,并通过TensorFlow实现了前向算法,展示了其计算观测序列概率的动态规划思想。最后对比了两类方法的应用场景,展望

garlic的博客 180

【leetcode】深度优先遍历之孤岛问题

岛屿的个数 leetcode 200. 岛屿的个数: https://leetcode-cn.com/problems/number-of-islands/ 思路: DFS,走过一个要改成-1。 class Solution: def numIslands(self, grid): """ :type grid: List[List[str]] ...

maershii 3682

JAVA:Spring Boot3 集成 Spring AI 实现 Skill 开发

本文介绍了如何通过Spring Boot和Spring AI实现大模型技能(Skill)开发,让AI具备调用业务系统能力。文章首先解释了Skill的概念,即AI可调用的业务能力,如查询订单、天气等,并展示了执行流程和整体架构。然后详细介绍了实践样例,包括技术版本、Maven依赖配置、AI服务设置、ChatClient创建和Skill技能注册中心的实现。注册中心提供了技能的注册、查询、启用/禁用等功能,支持按类别管理技能,并能够获取所有可用技能列表。通过这种方式,开发者可以轻松为大模型扩展业务功能调用能力。

木头 623

【C++】力扣LeetCode 210. 课程表 II 之 深度优先遍历和广度优先遍历

力扣LeetCode 210. 课程表 II 深度优先遍历和广度优先遍历(C++)

jfgkf的博客 525

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Leetcode——括号生成(深度优先遍历)

题目描述 题目分析 本题采用的是回溯算法(深度优先遍历算法),在看了一些博客之后,我对深度优先的理解是,往尽可能深的方向搜索,有点像二叉树的前序遍历,搜索停止的标志是到达边界或者找到结果。而之所以称为“回溯”,是在往一个方向搜索结束后,要跳转回上一节点,继续往其他方向搜索。 在这一题中,由于字符串的每一次拼接都生成一个新的对象,因此不必回溯。到达每一个节点时,我们都有两种选择,一是加上左括号,...

fucccck_ly的博客 415

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【Leetcode 695】【Leetcode733】【GO】深度优先遍历 DFS

本文主要分享算法——深度优先遍历。

qq_42482205的博客 367

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

LeetCode.994 腐烂的橘子 深度优先遍历解法(1ms)

LeetCode.994 腐烂的橘子 题解

qq_43318454的博客 523

LeetCode刷题-DFS排列类总结 深度优先遍历

针对LeetCode上深度优先遍历DFS一类的排列题,做了一点总结。就当给之后自己复习留下的笔记。 LeetCode.46全排列 LeetCode46 题解: class Solution { public List<List<Integer>> permute(int[] nums) { List<List<Integer>> res = new ArrayList(); boolean[] pb = new b

weixin_45751409的博客 450

深度优先遍历DFS专题: Leetcode 207 课程表 + Leetcode 802 找到最终的安全状态

Leetcode 207 课程表 这题的问题是:是否能够修完所有的课。 而修完所有课的先决条件是,这门课的后继节点不可能是这门课的前驱节点,也就是说,不存在环。因此这题就很简单,用一个深度优先搜索判断有向图中是否有环,就能判定是否能够修完。 因此思路非常简单,先构建一个图,然后再用图的深度优先搜索就能得到结果:如果一个白节点的后续是灰节点,就说明遇到了环。 代码如下: def canFinish(...

CSJ_CH3COOK的博客 319

面试高频题 力扣 130. 被围绕的区域 洪水灌溉(FloodFill) 深度优先遍历(dfs) 暴力搜索 C++解题思路 每日一题

文章摘要: LeetCode题目“被围绕的区域”要求将矩阵中被X包围的O替换为X,而与边界相连的O保留。解题关键在于逆向思维:先标记所有与边界相连的O区域(安全区),再处理剩余O。核心步骤包括:1) 遍历矩阵四边,用DFS标记连通O为临时符号;2) 二次遍历将未标记O改为X,恢复标记区域为O。该解法通过两次遍历实现原地修改,时间复杂度O(mn)。相比直接检测被包围区域,这种"标记安全区+排除法"的策略更高效,体现了连通性问题中"正难则反"的解题思路。(149字)

Q741_147的博客 1190

leetcode打卡-深度优先遍历和广度优先遍历

leetcode打卡-深度优先遍历和广度优先遍历

川夜施密特的博客 814

【LeetCode】二叉树的深度优先遍历

前言 本文展示LeetCode中与二叉树深度优先遍历相关的三道题,读者可以用来借此默写以检验是否熟悉相关算法,其难度为简单,但是我们推荐读者使用进阶版等更难的实现方法。 LeetCode题目 相关题目类型 相关链接 144 二叉树的先序遍历 https://leetcode-cn.com/problems/binary-tree-preorder-traversal/ .

qq_41959920的博客 541

超详细讲解深度优先遍历、回溯以及剪枝,结合【LeetCode——46全排列】讲解

LeetCode刷题刷到【46 全排列】时,知道大致解题思路应该是用递归的方法来实现,但是到具体怎么操作就不知道怎么开始了,思考了几分钟以后还是没有任何方法,所以就去看官方题解去了 今天就是要分享的我遇到的这篇神题解,反正对我而言,是一篇难得的好文章,对于理解深度优先遍历中回溯和剪枝的问题非常有帮助,这位大佬也是一位知名的博主,非常厉害,推荐大家关注一波 下面是具体的链接地址: 【46 全排列详细题解:https://leetcode-cn.com/problems/permutations/solutio

newhandnew413的博客 496

二叉树|力扣404.左叶子之和,广度优先和深度优先遍历

如果该节点的左节点不为空,该节点的左节点的左节点为空,该节点的左节点的右节点为空,则找到了一个左叶子。相信通过这两个图,大家对最左叶子的定义有明确理解了。大家思考一下如下图中二叉树,左叶子之和究竟是多少?计算给定二叉树的所有左叶子之和。但看这个图的左叶子之和是多少?

qq_60513199的博客 648

LeetCode 组合、组合总和(I ~ IV)(C++)(回溯法、图的深度优先遍历)

1、组合 问题描述 给定两个整数n和k,返回1 ... n 中所有可能的 k个数的组合。 示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 解题思路 该题目使用 回溯(su)法也等价于树(图)的深度优先遍历算法来求解。 分别定义用于存储最终结果的二维vector容器和存储每个结点的一维vector容器。二维容器用于将每次一维容器装满元素后的压入。而大小为k的一维容器用于装大小为k的个数的组

bwqiang的博客 464

【leetcode】高频题目整理_深度优先遍历篇( High Frequency Problems, Depth-first Search )

深度优先遍历篇-69题(Depth-first Search, 69 problem) 截止至今LeetCode题目总量已经有`1582题`,估计将来每年平均增长`300题`左右,大部分人肯定是`刷不完的`,所以得有选择地刷LeetCode。 一种公认的刷题策略是`按类别刷题`,可是每个类别也有许多题,在有限的时间里`到底该刷哪些题呢`?个人根据`LeetCode官方`给出的每个题目的`出现频率`,整理并收录了每个类别里`高频出现`的题目,对于官方统计频率太低的题目,不予收录,最终得到了这个高频题目表格。

Liber-coder的博客 1658
上一篇: LeetCode 102 && 429 广度优先遍历
下一篇: zone7送书活动,名单公布(01)
zone7_
博客等级 码龄10年 144粉丝 133原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值