1
17
您可以将代码更改为下面这样的代码,以增加复杂性
|
2
5
正如@darkvalance所写的功能性方法,但有评论:
|
3
3
回答你的问题-是O(n*n),因为
因此,算法的时间复杂度将为O(N*N) |
4
2
我的java代码 O(N)
} |
5
2
我的python代码O(N)
|
6
2
功能进近O(N)。累计提供列表的累计运行和。我们可以用列表的和以及每个点的累积和来计算两个数组之间的差。
|
7
2
|
8
1
目前,您正在中反复计算总和
区别在于
可以通过执行以下操作来计算同一循环中的第一个\u磁带和:
所以解决方案是
|
9
0
这里我还添加了一个检查,以确定数组的元素何时为0
|
10
0
这是我对磁带平衡问题的原始解决方案
不幸的是,Codibility不允许为本课程导入NumPy模块。因此,这就是导入IterTools模块而不是NumPy的解决方案,它(最终)产生了全面的100%结果:
多亏了darkvalance的IterTools解决方案,以及坚韧的Raptor(非常有启发性的)对所用逻辑的澄清。 还要感谢Jun Jang尝试了两条分割带的解决方案,该解决方案表明非线性累积可以提供多条“带对”,因为相同的最小绝对差值可以出现在“带”上的多个平衡点上。 darkvalance提供的IterTools解决方案不仅提供了完全相同的结果,而且看起来非常像Pythonic,在97%以上的测试中(在对100000个元素的阵列进行了100000次测试之后),它的性能超过了Three NumPy Arrays解决方案。 祝贺我希望有一天我的代码会像你的一样。 |
11
0
此代码段也是一种可能的解决方案
|
July · 如何定义数字间隔,然后四舍五入 1 年前 |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |