![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法刷题
文章平均质量分 71
数据结构与算法刷题
准图灵奖得主
写给自己看的博客,记录自己的进步!加油呀!
展开
-
leetcode 149. 直线上最多的点数(枚举)
leetcode149. 直线上最多的点数(困难)题目描述解题思路Java代码题目描述题目链接:leetcode 149. 直线上最多的点数给你一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。示例 1:输入:points = [[1,1],[2,2],[3,3]]输出:3示例 2:输入:points = [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]输出:4提原创 2022-02-22 10:29:26 · 456 阅读 · 0 评论 -
leetcode 75. 颜色分类(简单模拟)
leetcode 75. 颜色分类(简单)题目描述解题思路Java代码题目描述题目链接:leetcode 75. 颜色分类给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。必须在不使用库的sort函数的情况下解决这个问题。示例 1:输入:nums = [2,0,2,1,1,0]输出:[0,0,1,1,2,2]示例 2:输入:nums =原创 2022-02-19 10:11:11 · 331 阅读 · 0 评论 -
leetcode 1481. 不同整数的最少数目(贪心+排序)
题解题目描述解题思路C++代码Java代码题目描述给你一个整数数组 arr 和一个整数 k 。现需要从数组中恰好移除 k 个元素,请找出移除后数组中不同整数的最少数目。示例 1:输入:arr = [5,5,4], k = 1输出:1解释:移除 1 个 4 ,数组中只剩下 5 一种整数。示例 2:输入:arr = [4,3,1,1,3,3,2], k = 3输出:2解释:先移除 4、2 ,然后再移除两个 1 中的任意 1 个或者三个 3 中的任意 1 个,最后剩下 1 和 3 两种整原创 2022-02-18 07:43:39 · 1005 阅读 · 0 评论 -
HDU 3549 ( Flow Problem ) (dinic模板题)
题目描述题目链接:HDU 3549 ( Flow Problem ) Problem DescriptionNetwork flow is a well-known difficult problem for ACMers. Given a graph, your task is to find out the maximum flow for the weighted directed graph.InputThe first line of input contains an integ原创 2021-08-11 12:29:31 · 201 阅读 · 0 评论 -
洛谷 P1122 最大子树和
题目描述小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题。一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的问题。于是当日课后,小明就向老师提出了这个问题:一株奇怪的花卉,上面共连有NN N朵花,共有N−1条枝干将花儿连在一起,并且未修剪时每朵花都不是孤立的。每朵花都有一个“美丽指数”,该数越大说明这朵花越漂亮,也有“美丽指数”为负数的,说明这朵花看着都让人恶心。所谓“修剪”,意为:去掉其中的一条枝条,这样一株花就成了两株,扔掉其中一株。原创 2021-07-29 12:34:40 · 284 阅读 · 0 评论 -
洛谷 P1019 单词接龙(深度优先搜索+回溯)
题目描述单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如 beast 和 astonish,如果接成一条龙则变为 beastonish,另外相邻的两部分不能存在包含关系,例如 at 和 atide 间不能相连。输入格式输入的第一行为一个单独的整数 n 表示单词数,以下 n 行每行有一个单词,输入的最后一行为一个单个字符,表示“龙”开头的字母。原创 2021-07-21 21:47:02 · 498 阅读 · 1 评论 -
洛谷 P1381 单词背诵(字符串+哈希表+双指针)
题目描述洛谷 P1381 单词背诵灵梦有 nnn 个单词想要背,但她想通过一篇文章中的一段来记住这些单词。文章由 mmm 个单词构成,她想在文章中找出连续的一段,其中包含最多的她想要背的单词(重复的只算一个)。并且在背诵的单词量尽量多的情况下,还要使选出的文章段落尽量短,这样她就可以用尽量短的时间学习尽可能多的单词了。输入格式第1行一个数 n,接下来 n 行每行是一个长度不超过 10 的字符串,表示一个要背的单词。接着是一个数 m,然后是 m行长度不超过 10 的字符串,每个表示文章中的一个单词原创 2021-07-04 17:13:03 · 965 阅读 · 0 评论 -
leetcode动态规划题汇总一
NO.1Leetcode 198. 打家劫舍(中等)你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1原创 2021-06-29 18:33:12 · 111 阅读 · 0 评论 -
leetcode 329. 矩阵中的最长递增路径 (记忆化搜索)
题目描述题目链接:leetcode 329. 矩阵中的最长递增路径给定一个 m x n 整数矩阵 matrix ,找出其中 最长递增路径 的长度。对于每个单元格,你可以往上,下,左,右四个方向移动。 你 不能 在 对角线 方向上移动或移动到 边界外(即不允许环绕)。示例 1:输入:matrix = [[9,9,4],[6,6,8],[2,1,1]]输出:4解释:最长递增路径为 [1, 2, 6, 9]。示例 2:输入:matrix = [[3,4,5],[3,2,6],[2,2,原创 2021-06-16 21:19:32 · 315 阅读 · 0 评论 -
牛客网 Rabbit的字符串
题目描述Rabbit得到了一个字符串,她的好朋友xxx可以给这个字符串施加一次魔法。魔法可以选择字符串的任一位置,并将该位置后面的所有字符水平拼接到串首。例如:对于字符串abcde,可以通过施加魔法得到cdeab。如果xxx通过施加魔法将字符串的字典序变得严格比之前的小,那么他将拿走这一字符串。Rabbit想知道自己的字符串会不会被xxx拿走。输入描述:第一行一个整数n,表示字符串的长度。接下来一行一个长度为n的只由小写字母组成的字符串。输出描述:如果Rabbit的字符串会被xxx拿走,原创 2021-06-16 17:37:06 · 321 阅读 · 0 评论 -
leetcode 403. 青蛙过河(记忆化搜索+dfs)
题目描述题目链接:leetcode 403. 青蛙过河(困难)一只青蛙想要过河。 假定河流被等分为若干个单元格,并且在每一个单元格内都有可能放有一块石子(也有可能没有)。 青蛙可以跳上石子,但是不可以跳入水中。给你石子的位置列表 stones(用单元格序号 升序 表示), 请判定青蛙能否成功过河(即能否在最后一步跳至最后一块石子上)。开始时, 青蛙默认已站在第一块石子上,并可以假定它第一步只能跳跃一个单位(即只能从单元格 1 跳至单元格 2 )。如果青蛙上一步跳跃了 k 个单位,那么它接下来的跳跃原创 2021-06-15 20:25:30 · 236 阅读 · 0 评论 -
leetcode 130. 被围绕的区域(dfs)
题目描述题目链接:leetcode 130. 被围绕的区域给你一个 m x n 的矩阵 board ,由若干字符 ‘X’ 和 ‘O’ ,找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。示例 1:输入:board = [[“X”,“X”,“X”,“X”],[“X”,“O”,“O”,“X”],[“X”,“X”,“O”,“X”],[“X”,“O”,“X”,“X”]]输出:[[“X”,“X”,“X”,“X”],[“X”,“X”,“X”,“X”],[“X”,“X”,“X”原创 2021-06-15 12:50:57 · 184 阅读 · 1 评论 -
leetcode 797. 所有可能的路径(图的遍历+dfs)
题目描述题目链接:leetcode 797. 所有可能的路径给一个有 n 个结点的有向无环图,找到所有从 0 到 n-1 的路径并输出(不要求按顺序)二维数组的第 i 个数组中的单元都表示有向图中 i 号结点所能到达的下一些结点(译者注:有向图是有方向的,即规定了 a→b 你就不能从 b→a )空就是没有下一个结点了。示例 1:输入:graph = [[1,2],[3],[3],[]]输出:[[0,1,3],[0,2,3]]解释:有两条路径 0 -> 1 -> 3 和 0 -&原创 2021-06-14 20:27:17 · 734 阅读 · 4 评论 -
leetcode 106. 从中序与后序遍历序列构造二叉树
题目描述题目链接:leetcode 106. 从中序与后序遍历序列构造二叉树根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 / \ 15 7C++代码/** * Definition for a bin原创 2021-06-14 12:50:12 · 230 阅读 · 1 评论 -
leetcode 207. 课程表 (拓扑排序)
题目描述:题目链接:leetcode 207. 课程表你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。例如,先修课程对 [0, 1] 表示:想要学习课程 0 ,你需要先完成课程 1 。请你判断是否可能完成所有课程的学习?如果可以,返回 tr原创 2021-06-14 11:15:18 · 446 阅读 · 0 评论 -
leetcode 127. 单词接龙(bfs+建图+最短路)
题目描述:题目链接:leetcode 127. 单词接龙添加链接描述字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列:序列中第一个单词是 beginWord 。序列中最后一个单词是 endWord 。每次转换只能改变一个字母。转换过程中的中间单词必须是字典 wordList 中的单词。给你两个单词 beginWord 和 endWord 和一个字典 wordList ,找到从 beginWord 到 endWord 的 最原创 2021-06-13 11:22:08 · 220 阅读 · 0 评论 -
leetcode 101. 对称二叉树
题目描述给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3分析画一棵层数较多的对称二叉树: 可以发现一个规律:只要在相同的层数按不同的方向遍历,就会走出原创 2021-05-30 15:57:13 · 706 阅读 · 12 评论 -
leetcode 105. 从前序与中序遍历序列构造二叉树
题目描述题目链接:leetcode 从前序与中序遍历序列构造二叉树根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7根据前序和中序遍历构造二叉树的方法 前序遍历:“根左右”(先访问根再访问左儿子最后访问右儿子)原创 2021-05-29 18:48:16 · 1065 阅读 · 4 评论 -
codeforces A. Red and Blue Beans(数学思维)
题目描述题目链接:codeforces A. Red and Blue BeansYou have r red and b blue beans. You’d like to distribute them among several (maybe, one) packets in such a way that each packet:has at least one red bean (or the number of red beans ri≥1);has at least one blue原创 2021-05-24 00:26:26 · 270 阅读 · 0 评论 -
leetcode 二叉树刷题汇总一
题目一题目链接:leetcode 剑指 Offer 27. 二叉树的镜像请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入: 4 / \ 2 7 / \ /\ 1 3 6 9镜像输出: 4 / \ 7 2 / \ /\ 9 6原创 2021-05-21 00:52:02 · 262 阅读 · 0 评论 -
P5837 [USACO19DEC]Milk Pumping G(dijkstra)
题目描述Farmer John 最近为了扩张他的牛奶产业帝国而收购了一个新的农场。这一新的农场通过一个管道网络与附近的小镇相连,FJ 想要找出其中最合适的一组管道,将其购买并用来将牛奶从农场输送到小镇。这个管道网络可以用 N 个接合点(管道的端点)来描述,将其编号为 1…N。接合点 1 表示 FJ 的农场,接合点 N 表示小镇。有 M 条双向的管道,每条连接了两个接合点。使用第 i条管道需要 FJ 花费 cic_ici美元购入,可以支持每秒fif_ifi升牛奶的流量。FJ 想要购买一条管道组成一条原创 2021-05-08 22:42:47 · 383 阅读 · 0 评论 -
codeforces C. Dijkstra? (dijkstra算法)
题目描述You are given a weighted undirected graph. The vertices are enumerated from 1 to n. Your task is to find the shortest path between the vertex 1 and the vertex n.InputThe first line contains two integers n and m (2 ≤ n ≤ 105, 0 ≤ m ≤ 105), where n is原创 2021-05-08 00:54:38 · 406 阅读 · 0 评论 -
洛谷 单源最短路径模板题
题目描述题目链接:P4779 【模板】单源最短路径(标准版)给定一个 n个点,m 条有向边的带非负权图,请你计算从 s 出发到每个点的距离。数据保证你能从 s 出发到任意点。输入格式第一行为三个正整数 n,m,s 第二行起 m行,每行三个非负整数 ui,vi,wiu_{i},v_{i},w_{i}ui,vi,wi表示从 uiu_{i}ui 到 viv_{i}vi 有一条权值为 wiw_iwi的有向边。输出格式输出一行 n 个空格分隔的非负整数,表示 s 到每个点的距离。输入输原创 2021-05-06 23:29:26 · 610 阅读 · 0 评论 -
codeforces B. The Cake Is a Lie(动态规划)
题目描述题目链接:codeforces B. The Cake Is a LieThere is a n×m grid. You are standing at cell (1,1) and your goal is to finish at cell (n,m).You can move to the neighboring cells to the right or down. In other words, suppose you are standing at cell (x,y). You原创 2021-05-05 19:44:34 · 372 阅读 · 0 评论 -
树形dp求树的直径
题目描述路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root ,返回其 最大路径和 。示例 1:输入:root = [1,2,3]输出:6解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6示例 2:输入:root = [-10,9,20,null,null,原创 2021-05-04 22:48:45 · 3463 阅读 · 7 评论 -
【洛谷】P1137 旅行计划(拓扑排序)
题目描述小明要去一个国家旅游。这个国家有NNN个城市,编号为111至NNN,并且有MMM条道路连接着,小明准备从其中一个城市出发,并只往东走到城市iii停止。所以他就需要选择最先到达的城市,并制定一条路线以城市iii为终点,使得线路上除了第一个城市,每个城市都在路线前一个城市东面,并且满足这个前提下还希望游览的城市尽量多。现在,你只知道每一条道路所连接的两个城市的相对位置关系,但并不知道所有城市具体的位置。现在对于所有的iii,都需要你为小明制定一条路线,并求出以城市iii为终点最多能够游览多少个城市原创 2021-05-03 21:52:37 · 220 阅读 · 0 评论 -
洛谷 P1197 [JSOI2008]星球大战(并查集)
题目描述:题目链接:洛谷 P1197 [JSOI2008]星球大战很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治着整个星系。某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球。这些星球通过特殊的以太隧道互相直接或间接地连接。但好景不长,很快帝国又重新造出了他的超级武器。凭借这超级武器的力量,帝国开始有计划地摧毁反抗军占领的星球。由于星球的不断被摧毁,两个星球之间的通讯通道也开始不可靠起来。现在,反抗军首领交给你一个任务:给出原来两个星球之间的原创 2021-05-03 20:28:48 · 839 阅读 · 1 评论 -
洛谷 P1896 [SCOI2005]互不侵犯(状压dp)
题目描述在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。输入格式只有一行,包含两个数N,K(1<=N<=9,0<=K<=N∗N)N,K ( 1 <=N <=9, 0 <= K <= N * N)N,K(1<=N<=9,0<=K<=N∗N)输出格式所得的方案数输入输出样例输入3 2输出16深度优先搜索70分做法:原创 2021-05-03 14:47:09 · 534 阅读 · 1 评论 -
一文学会、精通trie树!
题目描述题目链接:前缀统计 给定N个字符串S1,S2,...,SNS_{1},S_{2},...,S_{N}S1,S2,...,SN,接下来进行MMM次询问,每次询问给定一个字符串TTT,求S1∼SNS_{1}∼S_{N}S1∼SN中有多少个字符串是TTT的前缀。输入字符串的总长度不超过10610^6106,仅包含小写字母。输入描述:第一行两个整数N,MN,MN,M。接下来NNN行每行一个字符串SiSiSi。接下来M行每行一个字符串表示询问。输出描述:对于每个询问,输出一个整数表原创 2021-03-31 23:48:52 · 397 阅读 · 1 评论 -
【leetcode】89. 格雷编码 (格雷码+位运算+模拟)
题目描述格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。即使有多个不同答案,你也只需要返回其中一种。格雷编码序列必须以 0 开头。示例 1:输入: 2输出: [0,1,3,2]解释:00 - 001 - 111 - 310 - 2对于给定的 n,其格雷编码序列并不唯一。例如,[0,2,3,1] 也是一个有效的格雷编码序列。00 - 010 - 211 - 301 - 1示例 2:原创 2021-03-27 19:00:49 · 459 阅读 · 0 评论 -
【洛谷】P1923 求第 k 小的数(分治+快速排序)
题目描述输入n(n<5000000且n为奇数)个数字ai(0<ai<109)n(n<5000000 且 n 为奇数) 个数字 a_i(0<a_{i}<10^9)n(n<5000000且n为奇数)个数字ai(0<ai<109),输出这些数字的第kkk小的数。最小的数是第000小。请尽量不要使用 nth_element 来写本题,因为本题的重点在于练习分治算法。输入输出样例输入5 14 3 2 1 5输出2题目链接:P1923原创 2021-03-26 18:46:00 · 2338 阅读 · 0 评论 -
【洛谷】P1353 [USACO08JAN]Running S(动态规划)
题目描述题目链接:P1353 [USACO08JAN]Running S奶牛们打算通过锻炼来培养自己的运动细胞,作为其中的一员,贝茜选择的运动方式是每天进行 nnn 分钟的晨跑。在每分钟的开始,贝茜会选择下一分钟是用来跑步还是休息。贝茜的体力限制了她跑步的距离。更具体地,如果贝茜选择在第 iii分钟内跑步,她可以在这一分钟内跑 did_{i}di 米,并且她的疲劳度会增加 1。不过,无论何时贝茜的疲劳度都不能超过 mmm。如果贝茜选择休息,那么她的疲劳度就会每分钟减少 1,但她必须休息到疲劳度恢复原创 2021-03-15 03:53:48 · 295 阅读 · 0 评论 -
【洛谷】[NOIP2014 提高组] 联合权值 (bfs+图)
题目描述:70分暴搜超时代码:#include<iostream>#include<algorithm>#include<cstring>#include<queue> using namespace std; typedef long long LL; const LL N=2e5+100,mod=10007 ; struct edge{ int u; int v; int next; }e[2*原创 2021-03-14 01:15:10 · 273 阅读 · 0 评论 -
【leetcode】493. 翻转对(树状数组+离散化+二分)
题目描述:给定一个数组 nums ,如果 i < j 且 nums[i] > 2*nums[j] 我们就将 (i, j) 称作一个重要翻转对。你需要返回给定数组中的重要翻转对的数量。题目链接:https://leetcode-cn.com/problems/reverse-pairs示例 1:输入: [1,3,2,3,1]输出: 2示例 2:输入: [2,4,3,5,1]输出: 3注意:给定数组的长度不会超过50000。输入数组中的所有数字都在32位整数的表示范围内。原创 2021-03-12 22:54:42 · 182 阅读 · 0 评论 -
【牛客网】数列区间最大值(树状数组)
题目描述:输入一串数字,给你M个询问,每次询问就给你两个数字X,Y,要求你说出X到Y这段区间内的最大数。输入描述:第一行两个整数N,M表示数字的个数和要询问的次数;接下来一行为N个数;接下来M行,每行都有两个整数X,Y。输出描述:输出共M行,每行输出一个数。示例1输入10 23 2 4 5 6 8 1 2 9 71 43 8输出58备注:对于全部数据,1≤N≤105,1≤M≤106,1≤X≤Y≤N1 \le N \le10^5,1 \le M \le10^6,1 \le原创 2021-03-12 06:43:31 · 352 阅读 · 0 评论 -
【牛客网】黑白树(树型dp)
题目描述:一棵n个点的有根树,1号点为根,相邻的两个节点之间的距离为1。树上每个节点i对应一个值k[i]。每个点都有一个颜色,初始的时候所有点都是白色的。你需要通过一系列操作使得最终每个点变成黑色。每次操作需要选择一个节点i,i必须是白色的,然后i到根的链上(包括节点i与根)所有与节点i距离小于k[i]的点都会变黑,已经是黑的点保持为黑。问最少使用几次操作能把整棵树变黑。输入描述:第一行一个整数n (1 ≤ n ≤ 10^5)接下来n-1行,每行一个整数,依次为2号点到n号点父亲的编号。最后一行原创 2021-03-10 17:06:06 · 175 阅读 · 0 评论 -
【洛谷】P1038 [NOIP2003 提高组] 神经网络(拓扑排序)
神经网络题解题目描述拓扑排序简介解题思路AC代码题目描述拓扑排序简介解题思路AC代码#include<iostream>#include<vector>#include<queue>#include<cstdio> using namespace std; const int N=150; int C[N],U[N],In[N],Out[N],input[N]; int n,p; struct edge原创 2021-03-10 09:02:35 · 424 阅读 · 0 评论 -
【牛客网】序列的第 k 个数(快速幂)
题目描述BSNY在学等差数列和等比数列,当已知前三项时,就可以知道是等差数列还是等比数列。现在给你序列的前三项,这个序列要么是等差序列,要么是等比序列,你能求出第k项的值吗。如果第k项的值太大,对200907取模。输入描述:第一行一个整数T,表示有T组测试数据;对于每组测试数据,输入前三项a,b,c,然后输入k。输出描述:对于每组数据输出第k项的值,对200907取模。示例1输入21 2 3 51 2 4 5输出516说明第一组是等差序列,第二组是等比数列。备注:对于全部原创 2021-03-09 16:04:34 · 362 阅读 · 0 评论 -
刷题题解:【牛客网】树学(树形dp)
题目描述:链接:https://ac.nowcoder.com/acm/problem/201400来源:牛客网牛妹有一张连通图,由n个点和n-1条边构成,也就是说这是一棵树,牛妹可以任意选择一个点为根,根的深度dep_{root}deproot 为0,对于任意一个非根的点,我们将他到根节点路径上的第一个点称作他的父节点,例如1为根,1-4的;路径为1-3-5-4时,4的父节点是5,并且满足对任意非根节点,dep_i=dep_{fa_i}+1depi =depfai +1原创 2021-03-08 18:43:58 · 213 阅读 · 0 评论 -
[leetcode] LCP 09. 最小跳跃次数(搜索、bfs)
题目描述AC代码class Node{ int step; int position; int next; public Node(int s,int p,int n){ this.step=s; this.position=p; this.next=n; }}class Solution { public int minJump(int[] jump) { int N=jump.length; int vis[]=new int[原创 2021-03-08 13:37:45 · 420 阅读 · 0 评论