gpt4 book ai didi

java - 检查一个数组是否包含在另一个数组中

转载 作者:行者123 更新时间:2023-12-01 12:09:11 26 4
gpt4 key购买 nike

问题是:检查数组 arr2 是否以相同的顺序包含在 arr1 中。 arr2 可以包含在 arr1 中的任何位置。

public boolean contains(String[] arr1, String[] arr2)
{
int length = 0;
if(arr2.length > arr1.length)
return false;
for(int i = 0; i < arr2.length; i++)
{
if(arr2[i] == arr1[i])
length++;
}
if(length == arr2.length)
return true;
else
return false;
}

测试者:包含({"1", "2", "3"}, {"1", "2"}) → true

运行:正确

测试者:包含({"1", "2", "3"}, {"2", "3"}) → true

运行:假

测试者:包含({"1", "2", "3"}, {"2", "1"}) → false

运行:正确

测试者:包含({"MARY", "A", "LITTLE", "LAMB"}, {"A", "LITTLE", "LAMB"}) → true

运行:假

测试者:包含({"MARY", "A", "LITTLE", "LAMB"}, {"MARY", "A", "LITTLE", "LAMB"}) → true

运行:正确

.

我不知道我错在哪里。感谢您的帮助。

最佳答案

  • 使用 arr[1].equals(arr[2]) 代替 arr[1] == arr[2]
  • 应该在循环中判断,而不是在循环之前判断

我修改代码如下:

public static boolean contains(String[] arr1, String[] arr2) {
int length = 0;

for (int i = 0; i < arr1.length; i++) {
if (arr2[length].equals(arr1[i])) {
length++;
} else {
length = 0;
}
if (length == arr2.length)
return true;
}
return false;
}

关于java - 检查一个数组是否包含在另一个数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27369771/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com