algorithm - 如何计算由N个元素组成的数组的所有切片的数量?

标签 algorithm

给定 N 个元素的数组 A = [a1, a2, ..., aN]。切片是相邻元素的任意序列。喜欢

[a1], [a1,a2], [a1,a2,a3], ... , [a1, a2,...,aN],[a2,a3], [a3,a4], ....

如何计算数组所有切片的计数? 是否有获取数量的公式?

最佳答案

由于切片由开始和结束索引确定,这与询问可以从 n+1 个元素中挑选出多少个不同的对(计算第 0 个元素相同) sup> 和 nth 索引),其中对的顺序并不重要。

这就是计数 combinations“n+1 选择 2” 的公式为:n(n+1)/2

注意:这不计算空切片。如果那些也被计算在内,并且如果它们的索引不同,空切片应该单独计算,那么这是计算多组 2(因为开始/结束索引可以相等)。然后你应该在上面的结果中添加一个额外的 n+1

关于algorithm - 如何计算由N个元素组成的数组的所有切片的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58354211/

相关文章:

c++ - ICP的保证,内部指标

c# - 号码预测算法中的未知错误

algorithm - 是否有生成序列所有排列的递归算法的证明?

php - 同步本地和远程网站

java - 将 Java 对象排序到桶中,然后在桶内排序的算法

algorithm - 包含点的区域?

java - 计算几何中 double 相等性测试的一般策略

algorithm - 查找 k 阶斐波那契树中两个节点之间的路径

algorithm - 桶大小不同的桶排序

c++ - 无法访问构造函数定义之外的变量