簡體   English   中英

我在查找數組中最小值的索引時引用或實例化錯誤嗎?

[英]Am I referencing or instancing wrong for finding the index of the smallest value in an array?

我的數組是:

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

我尋找最小值的代碼是正確的,但是當我嘗試輸入

idx=i

要么

idx= i+1

並返回idx ,我的 output 是 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;
}

您應該將每個元素與當前最小值而不是相鄰值進行比較。

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

我的數組是:

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

我查找最小值的代碼是正確的,但是當我嘗試輸入時

idx=i

或者

idx= i+1

並返回idx ,我的 output 為 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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM