这个层序遍历要求返回每层的节点,正常的BFS从队列中弹出一个节点后就判断其有没有左子树和右子树,所以直接用BFS实现的话无法分层输出。 需要记录每层的节点数目,增加一个for循环就可以了。 /** * Definition for a binary tree node. * public class ...
分类:
编程语言 时间:
2020-07-25 23:51:28
阅读次数:
72
前言 本篇文章收录于专辑:http://dwz.win/HjK,点击解锁更多数据结构与算法的知识。 你好,我是彤哥,一个每天爬二十六层楼还不忘读源码的硬核男人。 上一节,我们一起学习了表示复杂度的几个符号,我们说,通常使用大O来表示算法的复杂度,不仅合理,而且书写方便。 那么,使用大O表示法评估算法 ...
分类:
其他好文 时间:
2020-07-25 23:47:01
阅读次数:
85
题目链接:https://www.acwing.com/problem/content/258/ 题目给出长度为n的序列,操作有两种,求[p,n]段的异或和再与x的异或,或者增加一个数x,使用可持久化Trie和异或前缀和可以解决,但是需要在[l-1,r-1]区间内,右区间自然满足,左区间的话需要加上 ...
分类:
编程语言 时间:
2020-07-25 23:31:49
阅读次数:
75
给出一个满足下述规则的二叉树: root.val == 0如果 treeNode.val == x 且 treeNode.left != null,那么 treeNode.left.val == 2 * x + 1如果 treeNode.val == x 且 treeNode.right != nu ...
分类:
其他好文 时间:
2020-07-25 11:44:04
阅读次数:
102
一、Protobuf 的优点 Protobuf 有如 XML,不过它更小、更快、也更简单。它以高效的二进制方式存储,比 XML 小 3 到 10 倍,快 20 到 100 倍。你可以定义自己的数据结构,然后使用代码生成器生成的代码来读写这个数据结构。你甚至可以在无需重新部署程序的情况下更新数据结构。 ...
分类:
其他好文 时间:
2020-07-25 11:26:48
阅读次数:
75
题目链接 https://leetcode-cn.com/problems/er-cha-shu-de-shen-du-lcof/ 题目描述 输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 例如: 给定二叉树 [3,9 ...
分类:
其他好文 时间:
2020-07-25 09:44:45
阅读次数:
60
(一)三表 用途 list列表 整齐布局 ul先到先得,ol有序排列,还有个自定义【dl>dt>dd】 table列表 展示数据结构 【caption table>th/tr>td(thead标题 tbody数据 tfoot脚注)】 【border/cellspacing/cellpadding表格 ...
分类:
Web程序 时间:
2020-07-25 09:40:55
阅读次数:
110
##绪论 算法:即是在特定计算模型下,旨在解决特定问题的指令序列 要保证正确性、确定性、可行性、有穷性 有穷性: ###例子1:HailStone序列 @Test public void test1() { int n = 7; int length = 1; while (n > 1) { n = ...
分类:
编程语言 时间:
2020-07-24 22:12:42
阅读次数:
88
题目 点这里看题目。 分析 原来数据的奇怪结尾就可以拿来判断特征呀 40pts ~ 55pts 太简单就不说了。 75pts 考虑完全二叉树怎么做。 这里需要注意一点,就是:\(n=262143=2^{18}-1\) ,也就是说,数据实际上就是一棵满二叉树。 由于满二叉树具有极强的对称性,我们不难想 ...
分类:
其他好文 时间:
2020-07-24 21:50:33
阅读次数:
73
字典, 又称符号表(symbol table)、关联数组(associative array)或者映射(map), 是一种用于保存键值对(key-value pair)的抽象数据结构。 字典在 Redis 中的应用相当广泛, 比如 Redis 的数据库就是使用字典来作为底层实现的, 对数据库的增、删 ...
分类:
其他好文 时间:
2020-07-24 21:21:21
阅读次数:
75