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,这意味着该字符串不是异构的。
结论
这就是我们如何检查给定的字符串是否是异构图。