java - 如何在数组Java中查找并返回越来越低的值的索引
问题描述
我有一个数组{ 8, 4, 3, 2, 5, 6, 1, 7 }
,我希望它返回数组中最小值的索引、数组中下一个最小值的索引等等。
我有这个代码;
private static int getSlotPosition(int[] iArray) {
int lowestValue;
lowestValue = iArray[0];
int slot = 0;
for (int i = 0; i < iArray.length; i++) {
if (iArray[i] < lowestValue) {
lowestValue = iArray[i];
slot = i;
}
}
return slot;
}
上面的方法是在for循环中调用的,每次调用都会改变数组的排列方式。
所以我希望在每次调用该方法后返回输出(即索引)(假设位置保持不变),就像这样;
- 第一次调用后返回的索引是 6,cos 1 是最小值
- 第二次调用后返回的索引是 3,cos 2 是下一个最小值
- 第二次调用后返回的索引是 2,cos 3 是下一个最小值,依此类推
请有人能帮帮我。谢谢。
解决方案
您的方法返回一个 int ,这意味着它不能返回任何其他 ONE 值。如果要解决该任务,则需要使用递归来完成,或者使该方法按顺序返回具有最低索引的数组。
推荐阅读
- java - 如何在子级和父级中创建具有相同 xml 标签的 pojo
- c++ - 在使用 boost 日志从其他线程进行日志记录的同时添加或删除日志接收器是否安全?
- php - 带有条件的 Laravel 唯一验证面临一些问题
- java - 记忆化被认为是动态编程吗?
- c - C 指针链式调用
- uml - 对于类图,让一个 A 类存储一个 B 类的 ArrayList 并由 C 类修改是否符合约定?
- postgresql - 是否可以根据主机名重定向 TCP 连接?
- mysql - 比较两列的查询与对一列的查询的成本是多少?
- c++ - 如何将矩阵和整数作为参数传递给类方法?
- visual-studio-code - 每次我退出 VS Code 时,如何始终重置我的工作场所设置?