arrays - 对角数组求和
问题描述
我怎样才能在对角线 3 个数组中求和?
例子:
[ 6 , 6 , 5 ]
[10, 5 , 10]
[ 3 , 20, 1 ]
从左到右,从右到左
6 + 5 + 1 = 12
3 + 5 + 5 = 13
这就是我的数组的声明方式:
@IBOutlet weak var text1: UITextField!
let text : String = text1.text!
var digits = [Int]()
for element in text.characters
{
digits.append(Int(String(element))!)
}
print(digits)
这就是我的数组对角线求和的方式
let anArray = [[digits],[digits2],[digits3]]
let size = anArray.count
for i in 0..<size {
if anArray[i].count != size {
print("error")
}
}
var diagSum = 0
for i in 0..<size {
for j in 0..<size where i == j {
diagSum += anArray[i][j] // i have an error here Cannot convert value of type '[Int]' to expected argument type 'Int'
}
}
解决方案
你可以试试
let arr1 = [[1,2,3],[1,2,3],[1,2,3]]
var sum = 0
arr1.indices.forEach { sum += arr1[$0][$0] }
arr1.indices.forEach { sum += arr1[$0][arr1.count - 1 - $0] } // not compiled
推荐阅读
- ios - 删除 UITableview 崩溃应用程序中的部分
- php - 使用php检查字符串是否包含10位数字但每个数字后有空格
- java - JAX-RS - 封装私有类
- css - 捆绑Angular项目而不编译
- javascript - 材质 ui 对话框在按下 tab 键时自动关闭
- c# - 使用 Unity 依赖注入将类型数组传递给构造函数
- maven - 将快照工件发布到 azure devops 工件
- vba - Activecell的VBA选择数据透视表
- asp.net-web-api - 异常-“无法发送具有此动词类型的内容主体”使用 httpclient.sendasync
- xcode - Xcode 在钥匙串中找不到我的私钥