我想确定键值是否在数组..中,但是它不起作用..
class Solution {
public int solution(int key, int[] array1) {
int answer = 0;
for(int i=0; i < array1.length; i++) {
if(array1[i] == key) {
answer = i;
}
else return -1;
}
return answer;
}
}
ex)键:5个array1:[1、2、3、4、5] 答案:4
答案 0 :(得分:2)
找到匹配项或完成循环而没有找到匹配项时,您应该返回答案。
如果数组的第一个元素与您的键不匹配,则应该不返回-1。您应该先检查数组的所有其他元素。
public int solution(int key, int[] array1) {
for(int i=0; i < array1.length; i++) {
if(array1[i] == key) {
return i;
}
}
return -1;
}
答案 1 :(得分:0)
我认为您需要键的索引作为输出,并且随着数组的索引从0开始,您正在正确地获取它。 键为5的索引是4,这是正确的。
答案 2 :(得分:0)
您应该将return置于循环之外:
class Solution {
public int solution(int key, int[] array1) {
int answer = -1;
for(int i=0; i < array1.length; i++) {
if(array1[i] == key) {
answer = i;
}
}
return answer;
}
}