gpt4 book ai didi

java - 从某个索引开始的最小数的索引

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

我试图找到最小数字的索引,但仅在数组中的某个点之后。

我正在研究的方法是indexOfTheSmallestStartingFrom。

我正在做 mooc.fi 练习 104.3,如果您需要更多信息,请访问 http://mooc.cs.helsinki.fi/programming-part1/material-2013/week-6?noredirect=1然后向下滚动到练习 104。

我的问题是,如何从数组中的索引 2 开始,并忽略它之前的所有内容。我试图找到数组中特定索引之后的最小数字。

我的代码

import java.util.Arrays;

public class Main {

public static int smallest(int[] array) {
int[] sorted = new int[array.length];

for (int i = 0; i < array.length; i++) {
sorted[i] = array[i];
}

Arrays.sort(sorted);
return sorted[0];
}

public static int indexOfTheSmallest(int[] array) {
for (int i = 0; i < array.length; i++) {
if (array[i] == smallest(array)) {
return i;
}
}
return 0;
}

// This is the method here.
public static int indexOfTheSmallestStartingFrom(int[] array, int index) {
for (int i = index; i < array.length; i++) {
if (array[i] == smallest(array)) {
return indexOfTheSmallest(array);
}
}
return 27;
}

public static void main(String[] args) {
// indexes: 0 1 2 3 4
int[] values = {-1, 6, 9, 8, 12};
System.out.println(indexOfTheSmallestStartingFrom(values, 1));
System.out.println(indexOfTheSmallestStartingFrom(values, 2));
System.out.println(indexOfTheSmallestStartingFrom(values, 4));
}
}

最佳答案

在实现 indexOfTheSmallestStartingFrom 时,不能使用 smallest 方法,因为 smallest 返回的最小元素可能位于数组(即索引小于传递的索引)。

一个更简单的实现是:

public static int indexOfTheSmallestStartingFrom(int[] array, int index) {
int minIndex = index;
for (int i = index; i < array.length; i++) {
if (array[i] < array[minIndex]) {
minIndex = i;
}
}
return minIndex;
}

关于java - 从某个索引开始的最小数的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32434270/

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