如何在 Swift 3 中转置不等数组长度的矩阵 [英] How to transpose a matrix of unequal array length in Swift 3

查看:99
本文介绍了如何在 Swift 3 中转置不等数组长度的矩阵的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的数组是 [[Int]] 类型

My array is of type [[Int]]

array = [[1,2,3],
         [4,5,6],
         [7,8,9,10],
         [11,12,13],
         [14,15,16]]

我希望转置结果为:

array = [[1,4,7,11,14],
         [2,5,8,12,15],
         [3,6,9,13,16],
         [0,0,10,0,0]]

如何将 0 填充到没有相等行或列映射的数组.

How to pad 0's to an array which does not have an equal row or column mapping.

我希望转置适用于具有不相等映射元素的行和列.请帮忙.

I want the transpose to work for both rows and columns with unequal mapping elements. Please help.

推荐答案

谢谢..!@Pragnesh Vitthani 我刚刚修改了你的答案.

Thanks..! @Pragnesh Vitthani I just modified your answer.

var array = [[1,2,3],
             [4,5,6],
             [7,8,9,10],
             [11,12,13],
             [14,15,16]]

var transposedArray = [[Int]]

for i in stride(from: 0, to: array.count, by: 1)
{
    var subArray = [Int]()
    for j in stride(from: 0, to: array.count, by: 1)
    {
        if array[j].count < array.count
        {
            array[j].append(0)
        }
        subArray.append(array[j][i])
    }
    transposedArray.append(subArray )
}
print(transposedArray)

这篇关于如何在 Swift 3 中转置不等数组长度的矩阵的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆