91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

劍指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

西安市| 镇原县| 凤台县| 黑河市| 蓬安县| 通渭县| 墨竹工卡县| 秀山| 精河县| 论坛| 普安县| 遵义县| 雅江县| 双牌县| 乐安县| 民权县| 固阳县| 顺平县| 宁明县| 林口县| 水富县| 盐山县| 夏邑县| 邯郸县| 德兴市| 广州市| 宽城| 连平县| 义乌市| 英山县| 二连浩特市| 塔河县| 长丰县| 喀喇沁旗| 定远县| 焦作市| 郓城县| 兴仁县| 清丰县| 萍乡市| 沂南县|