2014-10-06 78 views
-2

在Xcode中使用swift我有一個浮點值'IMProdArray'的數組。
我想確定一個函數,檢查數組中的值,以確定是否有任何值在0.200之內。如果他們返回'假',如果他們不是,返回'真'。Swift比較單個數組中的值

作爲類似的函數I還要計算兩個值之間的最大距離,並返回的中間點的值:即

在陣列我有值:1, 3, 4, 10, 11, 12

兩個值之間的最大間隙(如果他們是爲了)是4-10。這個中間值是7.所以返回7.

在正確的方向微調將不勝感激。

回答

0

既然你問了一個解決方案,這裏是解決方案(儘管我真的不應該只是爲你寫代碼)。

這適用於按升序排序的數組(排序使用此代碼,如果它是不是已經排序之前,你的陣列):

var maxGap = -1 
var maxGapIndex = -1 
for i in [1..<IMProdArray.count] { 
    let gap = IMProdArray[i] - IMProdArray[i-1] 
    if gap <= 0.2 { 
     // handle the values being within 0.2 of each other 
    } 
    if gap > maxGap { 
     maxGap = gap 
     maxGapIndex = i-1 // store the index of the first number 
    } 
} 

然後,您可以從maxGapIndex檢索的差距指數。對於你的例子,maxGapIndex將是2,這是你的數組中的的索引。