char_array[]
是"x,a,x,c,x,b,x,a,x,x,b,x,x,x,x"
key_array[]
是"a,b,c"
预期返回数组:"1,5,3"
目标是打印与key_array
匹配的char_array
的索引。例如,在这种情况下,程序必须打印"1,5,3"。它只计算第一个匹配的索引。
另一个例子是
char_array[]
是"q,h,e,h,w,e,r,t,l,y,l,l,o"
key_array[]
是"h,e,l,l,o"
预期返回数组:"1,2,8,10,12"
我所尝试的是
int index = 0;
for(int i = 0; i < key_array.length; i++)
{
isFound = false;
for(int k = index + 1; k < char_array.length && isFound == false; k++)
{
if(char_array[i] == key_array[k])
{
index = k;
num[j] = index;
isFound = true;
}
}
}
我的第二个示例涉及“hello”,可以工作,但我第一个示例涉及“abc”却不能工作。
我开始使用index + 1
来定义我的k
,但我想我需要把它从0改为char_array.length
。
请有经验的人帮我看看这个逻辑。
break
,然后重复此过程。 - user180100char_array[k] == key_array[i]
。 - somebody