IOS 算法(基础篇) ----- 数组重新排序

一个2n个元素的数组, 前n个 x1, x2...xn 后n个y1, y2...yn 重新排列成x1, y1, x2, y2...xn, yn

例如:

给定数组 arr = [1, 3, 5, 6, 0, 7, 4, 2] 给定值 n = 4, 重新排列结果 result = [1, 0, 3, 7, 5, 4, 6, 2] 这个问题在算法中算简单的一类了, 我们的思路是一次遍历, 建新数组 for 依次添加 i 和 i + n 元素

OC代码

 NSArray *num = @[@1, @3, @5, @6, @0, @7, @4, @2];
 int n = 4;
 NSLog(@"返回结果: %@", [self calculate:num N:n]);
- (NSMutableArray *)calculate:(NSArray *)num N:(int) n {
    NSMutableArray *arr = [NSMutableArray array];
    for (int i = 0; i < n; i++) {
        [arr addObject:num[i]];
        [arr addObject:num[i+n]];
    }
    return arr;
}

Swift代码

let num:[Int] = [1, 3, 5, 6, 0, 7, 4, 2]
let n = 4
print("返回结果: \(self.caculate(num: num, n: n))")
     func caculate(num:[Int], n:Int) -> [Int] {
        var arr:[Int] = []
        for i in 0..

题目来源:力扣(LeetCode) 感谢力扣爸爸 :)

IOS 算法合集地址

你可能感兴趣的:(IOS 算法(基础篇) ----- 数组重新排序)