我有一個陣列兩個值
int[] Values = new int[] { 5, 43, 45, 25, 16, 89, 65, 36, 62 };
,目前我正在計算所有值之間的最大距離之間的距離84 = 89 - 5
int MaxDistance = Values.SelectMany((a) => Values.Select((b) => Math.Abs(a - b))).Max();
現在我想計算的最小距離2 = 45 - 43
@ ycsun的評論 - 這不起作用
int MinDistancee = Values.SelectMany((ia, a) => Values.Select((ib, b) => ib == ia ? int.MaxValue : Math.Abs(a - b))).Min();
嘗試交換數組中的89和5,然後查看Max是否仍然有效。 –
你得到零,因爲5 - 5 = 43 - 43 = ... = 0,對吧? – ycsun
您的編輯不起作用,因爲包含索引的'SelectMany'的重載是第二個參數,而不是第一個參數,所以您希望'(a,ia)'和'(b,ib)'代替。 – juharr