我正在学习Codility Counting Lesson(https://codility.com/media/train/2-CountingElements.pdf),我需要帮助才能理解最快的解决方案.
我想知道为什么差异在第8行除以2 d //= 2?难道差异不足以找到我们可以在数组之间交换的元素吗?
问题:
您将得到一个整数
m(1 < m < 1000000)和两个非空,零索引的数组A和B的n整数a0,a1,...,an?1和b0,b1...,bn?1分别为(0 < ai,bi < m).目标是检查是否存在可以在这些数组上执行的交换操作,使得数组中的元素A总和等于B交换后数组中元素的总和.通过交换操作,我们的意思是,从采摘数组一个元素A的数组一个元素,并B与他们交流.
解决方案:
def fast_solution(A, B, m):
n = len(A)
sum_a = sum(A)
sum_b = sum(B)
d = sum_b - sum_a
if d % 2 == 1:
return …Run Code Online (Sandbox Code Playgroud) 我试图理解_rawBits中的真正含义是什么Swift.String.Index(_rawBits:)。如果你打印 a String.Index,你会得到类似的东西Swift.String.Index(_rawBits: 983040)。但这到底意味着什么呢?
我可以(从数学上)使用这个 rawBits 数字计算字符串中的实际索引吗?基数 32、16 还是其他?
SwiftRange使用String.Index作为其上限和下限。