获取数组中所有的子数组-Swift3.0 实现

在最大子数组问题中,涉及到暴力求解,那么,如何获取所有的子数组,写了个例子:
ListSubArray.swift如下:

//1 2 3 12 13 23 123

let a = [1, 2, 3]
var subArray = [Any]()

for i in 1...a.count {
    print("list \(i) length sub array")
    print("")
    
    for left in 0..<a.count {
        let right = left + i
        print("left is \(left) and right is \(right)")
    
        if right < a.count+1 {
            subArray.append(a[left..<right])
            print(a[left..<right])
        }
        
        if right == a.count {
            break
        }
    }
    
    print("")
}

print("count is \(subArray.count) All subArray is \(subArray)")

Terminal运行swift ListSubArray.swift可得到:

list 1 length sub array

left is 0 and right is 1
[1]
left is 1 and right is 2
[2]
left is 2 and right is 3
[3]

list 2 length sub array

left is 0 and right is 2
[1, 2]
left is 1 and right is 3
[2, 3]

list 3 length sub array

left is 0 and right is 3
[1, 2, 3]

count is 6 All subArray is [ArraySlice([1]), ArraySlice([2]), ArraySlice([3]), ArraySlice([1, 2]), ArraySlice([2, 3]), ArraySlice([1, 2, 3])]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 北风忽然又回来了,呼啸着穿过街坊,搂过一家家紧闭的店面,夜晚是多么的恬静而又萧瑟啊!我踏着街灯在思考,周边只有不断...
    风狼志阅读 471评论 0 0
  • 1 感谢《剽悍晨读》,今天的耳朵又享用了一顿美味早餐。 猫爷推荐的书为:《细节》,并分享了其中最精彩部分。 如何轻...
    孙国飞扬阅读 129评论 0 2
  • 我喜欢悠闲自在的小镇的生活,我希望我可以和我的丈夫牵着手漫步在街区上,还有我们的狗;我希望清晨醒来我可以听到孩子们...
    Xuimg阅读 244评论 0 0
  • 最近齐达内的日子着实不好过,他带领的皇马在联赛、欧冠双线失利。当然输球是任何一支球队都会面临的问题,这世上就没有什...
    阿猫说球阅读 217评论 0 0
  • 初晨的微光,离别时的心情,恰似又逢一个秋。
    梦璃嬅阅读 268评论 0 1