gpt4 book ai didi

java - 如何编写一个程序,返回给定值在 Java 整数数组中最后一次出现的索引位置?

转载 作者:行者123 更新时间:2023-12-02 08:43:16 24 4
gpt4 key购买 nike

例如给定一个整数数组:

{1, 2, 3, 1, 4} 和整数值 1

该方法将返回 3 作为给定值的最后一个索引位置。如果数组不包含给定值,则该方法应返回 -1。

我的代码:

public int lastIndexOf(int[] values, int value) {

for( int i=0; i< values.length ; i ++ )
if( values[ i ] == value)
return i;

return -1;
}

我得到的结果:

org.opentest4j.AssertionFailedError: 
Expected :5
Actual :-1

预期结果:

 @Test
public void testLastIndexOf() {
assertEquals(5, main.lastIndexOf(new int[]{1, 2, 3, 4, 5, 1}, 1));
assertEquals(-1, main.lastIndexOf(new int[]{2, 3, 3, 2, 4, 5, 4}, 1));
assertEquals(0, main.lastIndexOf(new int[1], 0));
assertEquals(4, main.lastIndexOf(new int[]{0, -1, 1, 8, 8, -1, 6, -2}, 8));
}

最佳答案

当您想要最后一个索引时,yoy 可以以相反的顺序读取数组,从末尾到开始,以便能够在第一个匹配处停止

public int lastIndexOf(int[] values, int value) {
for (int i = values.length - 1; i >= 0; i--) {
if (values[i] == value) {
return i;
}
}
return -1;
}

关于java - 如何编写一个程序,返回给定值在 Java 整数数组中最后一次出现的索引位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61244869/

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