我是不是在查找数组中最小值的索引时引用或实例错误?

Posted

技术标签:

【中文标题】我是不是在查找数组中最小值的索引时引用或实例错误?【英文标题】:Am I referencing or instancing wrong for finding the index of the smallest value in an array?我是否在查找数组中最小值的索引时引用或实例错误? 【发布时间】:2021-07-12 00:12:01 【问题描述】:

我的数组是:

int a = new int[] 20,20,30,40,6,70,80

我查找最小值的代码是正确的,但是当我尝试输入时

idx=i

idx= i+1

然后返回idx,我的输出是0。

int minval=0;
int idx=0;
if(a==null || a.length==0) 
    return null;

else if(a.length!=0)   
    for(int i=0; i<a.length-1; i++) 
        if(a[i]<a[i+1]) 
            a[i+1]=a[i];
            minval=a[i];
        
        else
            minval= a[i+1];
        
        return minval;
    
    return null;

【问题讨论】:

【参考方案1】:

您应该将每个元素与当前最小值而不是相邻值进行比较。

int minIdx = 0;
for(int i = 1; i < a.length; i++) 
    if(a[i] < a[minIdx]) minIdx = i;

return minIdx; //minIdx is index of smallest value; a[minIdx] is the smallest value

【讨论】:

以上是关于我是不是在查找数组中最小值的索引时引用或实例错误?的主要内容,如果未能解决你的问题,请参考以下文章

在Python中查找给定数组中最小值的索引

在javascript中的数组中查找多个最小值的索引

查找和引用函数INDEX

在 Python 中查找最小值或最大值的值的索引

使用分治法是不是会提高在数组中查找最大值和最小值的时间复杂度

在矩阵中查找最小值的索引