数组取值
你好! 这是我面试依赖第一次出现了逻辑上自己觉得有趣的题目,虽然可能对于大佬们觉得我简单,但是我却少考虑到了一点
实例
我们来看看需求,有两个数组:
int [] str={1234,2222,3333,4444};
int [] str1={1,3333,4444,1234};
将相同的值链接起来这样的次数最大能到多少,其中不能有交叉的情况。
下面是我用代码写出的答案,答案可能会有多种,还请多多指教
@Test
public void shouldAnswerWithTrue()
{
int [] str={1234,2222,3333,4444};
int [] str1={1,3333,4444,1234};
int maxcount=0;
int index=0;
while (true){
int index2=0;
int count=0;
for (int i = index; i < str1.length; i++) {
for (int i1 = index2; i1 < str.length; i1++) {
if (str1[i]==str[i1]){
index2=i1+1;
count++;
break;
}
}
if (i==(str1.length-1)){
index++;
}
}
if (maxcount<count){
maxcount=count;
}
if (index==str1.length){
break;
}
}
System.out.println("总参数:"+maxcount);
}