####题目描述: 输入一颗二叉树的根节点和一个整数,按字典序打印出二叉树中结点值的和为输入整数的所有路径。 路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 ####题目解析: 1.首先前序遍历,将访问的结点加入到路径中 并累加该路径结点的值; 2.如果该结点是叶子结点 且路径 ...
分类:
其他好文 时间:
2020-07-04 21:05:01
阅读次数:
66
Kruskal Prim 例题 luogu P3366 【模板】最小生成树 以下代码均可A此题 kruskal Kruskal算法通过并差集维护,从到小枚举每条边,如果两端点不在一个集合,将两端点所在集合合并,并将边权累加到答案中 时间复杂度为$O(m log m)$ 评测记录 code #incl ...
分类:
其他好文 时间:
2020-07-03 12:13:39
阅读次数:
47
邻接矩阵存储图,n<= 100, 使用多源最短路算法Floyd算法(\(O(n^3)\)),求出重要城市之间最短路径。 遍历所有可能的配对,找出最小路径代价。具体的,求出所有重要城市的全排列,让相邻两城市配对,累加路径代价,再更新最小代价。 import java.util.*; public cl ...
分类:
其他好文 时间:
2020-07-01 22:05:20
阅读次数:
69
Stream API为我们提供了Stream.reduce用来实现集合元素的归约。reduce函数有三个参数: Identity标识:一个元素,它是归约操作的初始值,如果流为空,则为默认结果。 Accumulator累加器:具有两个参数的函数:归约运算的部分结果和流的下一个元素。 Combiner合 ...
分类:
编程语言 时间:
2020-07-01 09:26:36
阅读次数:
60
题目链接 1038. 从二叉搜索树到更大和树 题目分析 题目要求我们把大于等于当前结点的值累加起来然后替换掉该结点原来的值。考虑到这是一棵二叉搜索树,我们从右子树开始的中序遍历就是倒序数组。 我们需要一个pre指针指向前一个结点,就可以获得比你大的结点值之和,再加上当前结点的值就可以满足题目。 代码 ...
分类:
其他好文 时间:
2020-06-26 22:10:05
阅读次数:
67
无锁 乐观锁(非阻塞) 共享模式之无锁 CAS 与 volatile 原子整数 原子引用 原子累加器 Unsafe CAS无锁方案 CAS无锁主要看重三个变量: 预估值 + 修改值 + 主存值 预估值: 主要用来判断是否等于主存值, 是则将修改值修改到主存值中 修改值: 即将需要修改的新值, 修改到 ...
分类:
其他好文 时间:
2020-06-26 18:28:48
阅读次数:
57
一、简介 在 Spark 中,提供了两种类型的共享变量:累加器 (accumulator) 与广播变量 (broadcast variable): 累加器:用来对信息进行聚合,主要用于累计计数等场景; 广播变量:主要用于在节点间高效分发大对象。 二、累加器 这里先看一个具体的场景,对于正常的累计求和 ...
分类:
其他好文 时间:
2020-06-26 10:59:41
阅读次数:
50
列表: 一系列值的序列。 元素: 一个列表或者其他序列中的值,也叫项。 网状列表: 一个作为其他列表元素的列表。 累加器: 一种用来在循环中累加或者拼接结果的变量。 增强赋值语句: 使用+=这种自增运算符来更新变量值的语句 reduce: 一种处理模式,遍历一个序列,把元素积累起来结合成一个单独的结 ...
分类:
编程语言 时间:
2020-06-24 20:05:21
阅读次数:
60
题目链接:http://poj.org/problem?id=2442 给定一个M*N的矩阵,要求从每一行中都取出一个数然后累加,问最小的N个累积和为多少。使用堆可以在O(MNlogN)时间复杂度内求出。 M行的最大取法一定是通过前M-1行的最大取法+第M行取数然后求前N大获取的,所以有归纳法可以考 ...
分类:
编程语言 时间:
2020-06-18 13:19:12
阅读次数:
67
什么是异步组件? 异步组件就是定义的时候什么都不做,只在组件需要渲染(组件第一次显示)的时候进行加载渲染并缓存,缓存是以备下次访问。 为什么用异步组件? 在大型应用中,功能不停地累加后,核心页面已经不堪重负,访问速度愈来愈慢。为了解决这个问题我们需要将应用分割成小一些的代码块,并且只在需要的时候才从 ...
分类:
其他好文 时间:
2020-06-18 12:50:35
阅读次数:
64