中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

劍指offer:調整數組順序使奇數位于偶數前面

發布時間:2020-08-06 13:04:07 來源:網絡 閱讀:144 作者:Jayce_SYSU 欄目:編程語言

題目描述
輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有的奇數位于數組的前半部分,所有的偶數位于數組的后半部分,并保證奇數和奇數,偶數和偶數之間的相對位置不變。

class Solution:
    def reOrderArray(self, array):
        if not array:
            return array
        p = -1  # 定位下一個奇數應該在的位置
        for i in range(len(array)):
            if array[i] & 1 != 0:  # 如果是奇數
                p += 1
                if i != p:  # 當前奇數不在應在的位置,需要執行交換
                    array[i], array[p] = array[p], array[i]
                    # 交換后需要保證偶數的順序不變
                    # 1, 2, 4, 6, 5, 7
                    #       |
                    # 1, 5, 4, 6, 2, 7   第一次交換后偶數的順序發生變化,需要調整還原
                    #       |
                    # 1, 5, 4, 2, 6, 7   將交換后的偶數往前挪的次數就是i和p之間的距離-1
                    #       |
                    # 1, 5, 2, 4, 6, 7
                    for x in range(i, p + 1, -1):
                        array[x], array[x - 1] = array[x - 1], array[x]

        return array
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

富源县| 无棣县| 会东县| 苍山县| 封开县| 太白县| 祁连县| 凤山市| 大同市| 石城县| 新巴尔虎左旗| 凤凰县| 米泉市| 沈阳市| 含山县| 台南市| 淅川县| 陈巴尔虎旗| 保定市| 米易县| 阳高县| 宜春市| 新闻| 那曲县| 高邮市| 垫江县| 古田县| 大冶市| 湘潭市| 甘孜县| 三河市| 澄迈县| 西充县| 于都县| 鄂托克旗| 炎陵县| 明水县| 高唐县| 当涂县| 石狮市| 临西县|