编写一个带有两个整数数组的程序 用户(每个最多50个成员)。第一个数组应该长于 第二个;然后检查第二个数组中是否存在所有成员 在第一个中,以相同的顺序,无论距离如何 第一个数组中的成员。最后,程序告诉用户是否这样 条件是否开启。
答案 0 :(得分:0)
只要你知道它们的长度,数组的长度没有区别。无论如何你必须检查过去。
这是一个算法:
if length of array2 is greater than 1, end. // All of array can't be in array 1.
// Find the first element of array 2 that is in array 1:
// Note: this only searches up to array1.length - array2.length,
// because of the restriction of ordering and length of array 2.
key = first element of array 2.
found = false;
for (index = 0; index < (array1.length - array2.length); ++index)
if (array[index] == key) then found = true, break out of loop.
end-for
if not found, end. // No use in detailed searching.
// Now compare the elements of the two arrays, one by one,
// starting with the second element of array2 and the element
// of array1 at (index + 1).
有更高效的算法,但这应该让你开始,直到有人发布确切的代码,这样你就不必独自完成任何工作。