• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • 劍指Offer39-調整數組順序使奇數位于偶數前面

    標簽: 劍指Offer  快排  快速排序  數組  空間換時間  

    在這里插入圖片描述
    一開始想著用冒泡排序的方法來做,但是bug還是很多,后來看了評論區答案,發現直接空間換時間是最簡單的,而且和快排的寫法是類似的。

    # -*- coding:utf-8 -*-
    class Solution:
        def reOrderArray(self, array):
            # write code here
            left = []
            right = []
            for i in range(len(array)):
                if array[i]%2 != 0:
                    left.append(array[i])
                else:
                    right.append(array[i])
            return left+right
    
    版權聲明:本文為qq_22795223原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/qq_22795223/article/details/105947857

    智能推薦

    劍指offer刷題筆記——調整數組順序使奇數位于偶數前面

    題目地址 https://www.nowcoder.com/practice/beb5aa231adc45b2a5dcc5b62c93f593?tpId=13&tqId=11166&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking 題目描述 輸入一...

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

    題目描述 輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有的奇數位于數組的前半部分,所有的偶數位于數組的后半部分,并保證奇數和奇數,偶數和偶數之間的相對位置不變。 實現思想 這道題最簡單并且想考察的思想就是利用冒泡排序一樣的算法,兩層for循環,外層用來確保從后向前依次是偶數,內層用來交換數組相鄰順序是偶奇的兩個數,交換成奇偶順序,這樣保證了每一層外循環的最后一個都會變成偶數。 代...

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

    題目描述:輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有的奇數位于數組的前半部分,所有的偶數位于位于數組的后半部分,并保證奇數和奇數,偶數和偶數之間的相對位置不變。 思路:類似選擇排序,遍歷每個元素,遇到奇數,就從這個奇數開始向前遍歷,使其前面的偶數向后覆蓋,在遍歷過程中直到遇上奇數或者到達第一個元素,結束遍歷,最后將奇數放入正確位置 代碼:...

    調整數組順序使奇數位于偶數前面(劍指Offer 第 13 題)

    題目描述: 輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有的奇數位于數組的前半部分,所有的偶數位于位于數組的后半部分,并保證奇數和奇數,偶數和偶數之間的相對位置不變。 解題思路: 上圖中,已經將思路分為幾步曾現出來了! 第一步,先遍歷數組,找到奇數(偶數不用管,只要奇數都放在前面了,偶數自然都排到后面了),將該奇數保存到temp變量中!設置index位,初始指向數組第一位,當有奇...

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

    劍指offer21:調整數組順序使奇數位于偶數前面 python 題目描述 解法 題目描述 解法 最容易想到的方法就是定義兩個臨時列表分別存儲奇數和偶數 時間復雜度是O(n), 空間復雜度為O(n). 雙指針法 分別設置頭指針i和尾指針j 頭指針指向奇數時,i += 1, 指向偶數時不動,等待尾指針,尾指針指向偶數時,j -= 1。 如果頭指針指向偶數,尾指針指向奇數,則交換兩者。nums[i],...

    猜你喜歡

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

    題目: 輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有奇數位于數組的前半部分,所有偶數位于數組的后半部分。 解析: 擴展: 1.如果將題目改為把數組中的數按照大小分為兩部分,所有負數都位于非負數的前面,怎么做? PS:這個題目幾乎和上述題目相同,只需要改幾個條件 2.如果在將題目改為,能被3整除的數都放在不能被3整除的前面,怎么辦? PS:  還是只需要改幾個判斷條件。...

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

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

    劍指 Offer 21. 調整數組順序使奇數位于偶數前面

    題目描述: 輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有奇數位于數組的前半部分,所有偶數位于數組的后半部分。 解題思路 這道題很簡單,我的想法是新建一個數組永遠存儲答案,并且設置了兩個位置變量,主要是要將原數組的數據進行存儲到新數組,用數組變量來確認每個元素的位置,奇數主要是從頭開始插入,而偶數則從尾部進行插入,對原始數組進行遍歷后按照取余為0還是1進行判斷插入,就完成了。 我...

    [LeetCode]劍指 Offer 21. 調整數組順序使奇數位于偶數前面

    算法標簽 雙指針 題目簡敘 思路 前后指針 使用指針判斷奇數偶數,再進行交換 有點類似于快速排序中哨兵探路的思路 快慢指針 fast一直走 遇到吻合的數就和low交換 low++到下一個數去 代碼 前后指針 快慢指針...

    【劍指Offer】21. 調整數組順序使奇數位于偶數前面

    NowCoder 題目描述 需要保證奇數和奇數,偶數和偶數之間的相對位置不變,這和書本不太一樣。 解題思路 新建數組 方法一:創建一個新數組,時間復雜度 O(N),空間復雜度 O(N)。 冒泡 時間換空間 方法二:使用冒泡思想,每次都當前偶數上浮到當前最右邊。時間復雜度 O(N2),空間復雜度 O(1),時間換空間。...

    精品国产乱码久久久久久蜜桃不卡