Swift程序 检查一个数组是否是宫格
一个回文数组是一个当它的元素被颠倒过来时仍然保持不变的数组,我们也可以说回文数组的元素即使从后往前读也是一样的。例如,[1,9,10,9,1]是一个回文数组,而[3,5,7,8,3,2,1]不是一个回文数组。在这篇文章中,我们将学习不同的方法来寻找给定的数组是否是宫角数组,并使用Swift编程语言。
算法
- 第1步 – 创建一个函数。
-
第2步 – 反转数组中的元素
-
第 3步 – 将数组与反转后的数组进行比较。如果它们相等,那么给定的数组就是宫格。否则不是。
-
第4步 – 创建一个数组并将其传递给函数。
-
第 5步 – 打印输出。
例子1
以下是Swift程序,用于检查一个数组是否是宫格。
import Foundation
import Glibc
// Function to check if the given array is palindrome or not
func checkPalindrome(arr: [Int]) -> Bool {
let reversedArray = Array(arr.reversed())
return arr == reversedArray
}
// Test Case 1
let mArr1 = [4, 2, 8, 7, 8, 2, 4]
let result1 = checkPalindrome(arr: mArr1)
print("Is Array - \(mArr1) is palindrome?:", result1)
// Test Case 2
let mArr2 = [4, 1, 8, 7, 8, 6, 9]
let result2 = checkPalindrome(arr: mArr2)
print("Is Array - \(mArr2) is palindrome?:", result2)
输出
Is Array - [4, 2, 8, 7, 8, 2, 4] is palindrome?: true
Is Array - [4, 1, 8, 7, 8, 6, 9] is palindrome?: false
在这里,在上述代码中,我们有两个整数类型的数组。现在我们创建一个函数来检查一个数组是否是宫格。在这个函数中,首先我们用reversed()函数将数组反转。然后将反转的数组与原始数组进行比较。如果两个数组都相等,则打印 “true”。如果它们不相等,则打印 “false”。
例2
下面是一个Swift程序,用来检查一个数组是否是宫格。
import Foundation
import Glibc
// Function to check if the given array is palindrome or not
func checkPalindrome(arr: [Int]) -> Bool {
var start = 0
var end = arr.count - 1
while start < end {
if arr[start] != arr[end] {
return false
}
start += 1
end -= 1
}
return true
}
// Test Case 1
let mArr1 = [9, 1, 8, 4, 8, 1, 9]
let result1 = checkPalindrome(arr: mArr1)
if result1 == true{
print("Given array is palindrome")
}
else {
print("Given array is not a palindrome")
}
// Test Case 2
let mArr2 = [2, 1, 8, 7, 2]
let result2 = checkPalindrome(arr: mArr2)
if result2 == true{
print("Given array is palindrome")
}
else {
print("Given array is not a palindrome")
}
输出
Given array is palindrome
Given array is not a palindrome
在这里,在上述代码中,我们有两个整数类型的数组。现在我们创建一个函数来检查一个数组是否是回文。在这个函数中,我们初始化start = 0,end = arr.count-1。然后用while循环遍历数组的每个元素,并比较数组的起始和结束元素。如果它们相等,则返回true,这意味着该数组是回文。如果它们不相等,则返回false,这意味着该数组不是复数。
总结
在这篇文章中,我们使用了两个不同的例子来帮助你理解寻找给定数组是否为宫格的不同方法。