Swift程序 检查一个给定的字符串是否为异形字
异形字串是指没有字母出现超过一次的字符串。例如,”有云的天空 “是一个异形词,因为在这个字符串中每个字母只出现一次。而 “五彩缤纷的气球 “不是一个异构字符串,因为在这个字符串中有些字母如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()的函数。在这个函数中,我们使用set来跟踪遇到的字符。然后遍历输入字符串的每个字符,并检查该字符是否已经存在于集合中。如果这个函数返回false,那么就意味着该字符串不是异构的。如果该函数遍历了整个字符串而没有发现任何重复的字符,那么它就是真的,这意味着该字符串是异构的。
例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,这意味着该字符串不是异构的。
结论
这就是我们如何检查给定的字符串是否是异构图。