亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C#查找最高的數組值和索引

C#查找最高的數組值和索引

慕尼黑8549860 2019-12-02 12:43:24
所以我有一個未排序的數字數組int[] anArray = { 1, 5, 2, 7 };,我需要同時獲取值和數組中最大值的索引(即7和3),我該怎么做?
查看完整描述

3 回答

?
森林海

TA貢獻2011條經驗 獲得超2個贊

這不是最迷人的方法,但是有效。


(必須有using System.Linq;)


 int maxValue = anArray.Max();

 int maxIndex = anArray.ToList().IndexOf(maxValue);


查看完整回答
反對 回復 2019-12-02
?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

int[] anArray = { 1, 5, 2, 7 };

// Finding max

int m = anArray.Max();


// Positioning max

int p = Array.IndexOf(anArray, m);


查看完整回答
反對 回復 2019-12-02
?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

如果索引未排序,則必須至少遍歷數組一次以找到最大值。我會使用一個簡單的for循環:


int? maxVal = null; //nullable so this works even if you have all super-low negatives

int index = -1;

for (int i = 0; i < anArray.Length; i++)

{

  int thisNum = anArray[i];

  if (!maxVal.HasValue || thisNum > maxVal.Value)

  {

    maxVal = thisNum;

    index = i;

  }

}

這比使用LINQ或其他單線解決方案的方法更為冗長,但可能更快一些。確實沒有比O(N)更快的方法。


查看完整回答
反對 回復 2019-12-02
  • 3 回答
  • 0 關注
  • 1579 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號