zoukankan      html  css  js  c++  java
  • 13 调整数组顺序使奇数位于偶数前面

    13 调整数组顺序使奇数位于偶数前面

    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
     
    方法1:冒泡排序的思路:时间复杂度是N^2;
    判断只要偶数在奇数前面就交换,并且每次排好的就放在最后,逐渐沉淀下去。
    func reOrderArray( array []int ) []int {
        // write code here
        if len(array) == 0 {
            return []int{}
        }
        sz := len(array)
        for i := 1; i < sz; i++ {
            for j := 0; j < sz - i; j++ {
                if array[j] % 2 == 0 && array[j + 1] % 2 == 1 {
                    tmp := array[j]
                    array[j] = array[j + 1]
                    array[j + 1] = tmp
                }
            }
        }
        return array
    }
     

    方法2:开辟空间换时间。

    分别使用一个slice存储奇数和偶数

  • 相关阅读:
    Xcode Debugging
    GCD 深入理解
    iOS GCD编程
    iOS 面试之Block
    iOS SDWebImage 实现原理
    Block 初试
    通讯录
    UIScrollerView 的简单使用
    NSSet NSMutableSet的简单使用
    code
  • 原文地址:https://www.cnblogs.com/dingxiaoqiang/p/14630261.html
Copyright © 2011-2022 走看看