text 获取多维数组的切片
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了text 获取多维数组的切片相关的知识,希望对你有一定的参考价值。
/*
* Complete the mergeArrays function below.
*/
func mergeArrays(arr: [[Int]]) -> [Int] {
guard arr.count > 1 else {
return arr[0]
}
let mid = arr.count / 2
var leftMultidimensionalArray = [[Int]]()
for x in 0..<mid {
leftMultidimensionalArray.append(arr[x])
}
var rightMultidimensionalArray = [[Int]]()
for x in mid..<arr.count {
rightMultidimensionalArray.append(arr[x])
}
let leftArray = mergeArrays(arr: leftMultidimensionalArray)
let rightArray = mergeArrays(arr: rightMultidimensionalArray)
return merge(leftArray, rightArray)
}
func merge(_ leftArray: [Int], _ rightArray: [Int]) -> [Int] {
var leftArrayIndex = 0
var rightArrayIndex = 0
var mergeSortedArray: [Int] = []
while leftArrayIndex < leftArray.count && rightArrayIndex < rightArray.count {
let leftArrayValue = leftArray[leftArrayIndex]
let rightArrayValue = rightArray[rightArrayIndex]
if leftArrayValue < rightArrayValue {
mergeSortedArray.append(leftArrayValue)
leftArrayIndex += 1
} else if leftArrayValue > rightArrayValue {
mergeSortedArray.append(rightArrayValue)
rightArrayIndex += 1
} else {
mergeSortedArray.append(leftArrayValue)
leftArrayIndex += 1
mergeSortedArray.append(rightArrayValue)
rightArrayIndex += 1
}
}
if leftArrayIndex < leftArray.count {
mergeSortedArray.append(contentsOf: leftArray[leftArrayIndex...])
}
if rightArrayIndex < rightArray.count {
mergeSortedArray.append(contentsOf: rightArray[rightArrayIndex...])
}
return mergeSortedArray
}
以上是关于text 获取多维数组的切片的主要内容,如果未能解决你的问题,请参考以下文章
在 Julia 中切片和广播多维数组:meshgrid 示例
GO语言切片Slice数组Array的比较;利用多维切片接受EXCEL内容的输出
Go语言容器—数组切片
Python——ndarray多维数组基本操作(1)
Go基础2
Go基础2