我远离我的电脑,否则我会放弃一下:
假设我们有一个任意长度的数组(比如5),每个索引按升序存储1到5的数字(即int [0] = 1等)。
然后假设我们从用户那里获取一个输入,一个可变长度的数组,存储变量整数。我想验证两个数组是否相同。
对我来说是否更快,初步检查这些数组的长度是否相同,然后检查它们的实际值,或者设置迭代循环系统,迭代两个数组并验证它们是否& #39;相同?数组长度只是实际结构中的一些存储变量吗?我的意思是,速度差异将是微小的,我只是想知道。目前使用javascript。
但我的想法一般是,如果数组长度是一个变量,那么最好先访问它并进行比较,如果不是更好的迭代,因为array.length操作仍会迭代通过用于计算数字的数组?
如果只有我的文件。
答案 0 :(得分:0)
让我澄清一下我的评论:假设由于某种原因你想要在不检查其长度的情况下实施比较。好的,这意味着我们需要遍历元素并检查它们是否相等,听起来很简单吗?这就是它的样子(为了清楚起见,在这里使用Python,但这主要与语言无关):
def equal(arrayA, arrayB):
for i in range(0, ???):
if arrayA[i] != arrayB[i]:
return False
return True
但这是捕获,迭代什么时候停止? (???
部分的内容是什么?)嗯,你必须在元素用尽之前停止,并且当你到达min(len(arrayA), len(arrayB))
时就会发生这种情况。
唉,典型的min
函数将如此实现:
def min(x, y):
if x < y:
return x
else:
return y
这意味着您需要进行比较<
。好吧,如果你必须做一个比较,你也可以只对长度进行相等的比较,因为这在大多数架构上都是相同的成本。
所以结论是:你不能避免在数组的长度之间进行比较,所以你也可以利用这个机会检查它们是否相等。