Swift程式:檢查給定字串是否為異序詞
異序詞字串是指其中沒有哪個字母出現超過一次的字串。例如,“Sky with cloud”就是一個異序詞,因為字串中每個字母只出現一次。而“colorful balloons”則不是異序詞,因為字串中某些字母,如o、u、l等,出現了多次。在這裡,我們將使用Swift程式語言執行不同的示例,以檢查給定的字串是否為異序詞。
演算法
步驟1 - 建立一個函式。
步驟2 - 從字串中刪除空格。
步驟3 - 建立一個單獨的陣列來儲存輸入字串中存在的所有字母。
步驟4 - 將陣列轉換為集合以儲存唯一元素。
步驟5 - 如果集合的長度等於輸入字母的數量,這意味著每個字母只出現一次,則該集合為異序詞;否則不是。
步驟6 - 建立一個字串並將其傳遞到函式中。
步驟7 - 列印輸出。
示例1
以下Swift程式用於檢查給定字串是否為異序詞。
import Foundation import Glibc // Function to check if the given string is heterogram or not func CheckHeterogram(str: String) -> Bool { // Remove the white spaces from the string let nStr = str.replacingOccurrences(of: " ", with: "") var set = Set<Character>() for c in nStr { if set.contains(c) { return false } else { set.insert(c) } } return true } // Test case 1 let myString1 = "I love Ma" print("Is String-'\(myString1)' is a Heterogram?:", CheckHeterogram(str: myString1)) // Test case 2 let myString2 = "My sheep color is black" print("Is String-'\(myString2)' is a Heterogram?:", CheckHeterogram(str: myString2))
輸出
Is String-'I love Ma' is a Heterogram?: true Is String-'My sheep color is black' is a Heterogram?: false
在上面的程式碼中,我們建立了一個名為CheckHeterogram()的函式。在這個函式中,我們使用集合來跟蹤遇到的字元。然後遍歷輸入字串的每個字元,並檢查該字元是否已存在於集合中。如果此函式返回false,則意味著該字串不是異序詞。如果函式遍歷整個字串而沒有找到任何重複項,則返回true,這意味著該字串是異序詞。
示例2
以下Swift程式用於檢查給定字串是否為異序詞。
import Foundation import Glibc // Function to check if the given string is heterogram or not func CheckHeterogram(str: String) -> Bool { let nStr = str.replacingOccurrences(of: " ", with: "") let lString = nStr.lowercased() let charArray = Array(lString) let uniqueChars = Set(charArray) return uniqueChars.count == charArray.count } // Test case 1 let myString1 = "Hey Suman" print("Is String-'\(myString1)' is a Heterogram?:", CheckHeterogram(str: myString1)) // Test case 2 let myString2 = "I love Cooking Food" print("Is String-'\(myString2)' is a Heterogram?:", CheckHeterogram(str: myString2))
輸出
Is String-'Hey Suman' is a Heterogram?: true Is String-'I love Cooking Food' is a Heterogram?: false
在上面的程式碼中,我們有兩個輸入字串。現在,我們建立一個函式來檢查給定的字串是否為異序詞。在這個函式中,我們首先將輸入字串轉換為小寫,然後從字串中建立一個字元陣列,然後將陣列轉換為包含唯一字元的集合。現在,如果uniqueChar計數等於characterArray計數,則此函式返回true,這意味著該字串是異序詞。如果uniqueChar計數不等於characterArray計數,則此函式將返回false,這意味著該字串不是異序詞。
結論
這就是我們如何檢查給定字串是否為異序詞的方法。