是否有可能找到數組中是否存在元素序列? 讓我們一些數字,從郫縣,查找數組中是否存在元素序列
let piDigits=[3,1,4,1,5,9,2,6,5,3,5,8,9,7,9,3,2,3,8,4,6,2,6,4,3,3,8,3,2,7,9,5,0,2,8,8,4,1,9,7,1,6,9,3,9,9,3,7,5,1,0,5,8,2,0,9,7,4,9,4,4]
現在,我要找到,如果1,5和9存在如在這種情況下,他們這樣做,一旦基於陣列的序列元件,持倉4 & 5.
理想情況下,我不希望與迭代的循環陣列之上,我想類似array.contains(元件)的東西。
@Bawpotter,代碼片段:
for element in piDigits{ //check every element
if element == 5 { //if element is equal with the element i want
var currentPosition = piDigits.index(of: element) //get the position of that element
if piDigits[currentPosition!+1] == 9 { //if the element at the next position is equal to the other element i want
print("true") // it prints true 7 times, instead of 1!
}
}
}
如果您尋找在SWIFT的標準庫做到這一點的東西,我不認爲有... –
有一些特定的文本搜索算法可以使用,例如阿霍Corasic,如果表現是至關重要的。考慮數組是一個長文本,搜索數組是一個子串。如果性能不重要,我可能會使用一個簡單的線性搜索使用'for'。在每個索引上檢查下一個'n'項是否等於您搜索的數組,如果是,則輸出該索引。 – Sulthan