随笔分类 -  算法

摘要:题目描述: 一维数组中元素有正有负,求连续子向量的最大和。例如数组arr = {6,-3,-2,7,-15,1,2,2},连续最大子向量和为8(从下标0开始下标3结束)。 分析 暴力解法 最直观的方法,暴力遍历,将所有可能的子集遍历一遍。但是存在的子数组有n(n+1)/2个,遍历一遍的时间复杂度为o 阅读全文
posted @ 2020-06-08 00:58 link_ed 阅读(235) 评论(0) 推荐(0) 编辑
摘要:简介 并查集(Disjoint-Set)是一种可以动态维护若干个不重叠的集合,并支持合并与查询两种操作的一种数据结构。 就是维护多个集合之间的关系,集合的合并和查询定位(哪个元素属于哪些集合等查询操作),所以并查集主要包括两种操作: 合并(Union):合并两个集合; 查询(Find):查询元素属于 阅读全文
posted @ 2020-06-07 12:36 link_ed 阅读(212) 评论(0) 推荐(0) 编辑
摘要:题目: 设计一个算法,计算出n阶乘中尾部零的个数 例子: 输入: 6 输出: 1 样例解释: 6! = 720, 结尾的0有1个。 思路: 最简单暴力的方法就是直接把数的阶乘计算出来,然后数这个末尾有几个0。 public long trailingZeros(long n) { long resu 阅读全文
posted @ 2020-06-03 11:57 link_ed 阅读(375) 评论(0) 推荐(0) 编辑