數(shù)組劃分

給出一個(gè)整數(shù)數(shù)組 nums 和一個(gè)整數(shù) k。劃分?jǐn)?shù)組(即移動(dòng)數(shù)組 nums 中的元素),使得:

所有小于k的元素移到左邊
所有大于等于k的元素移到右邊
返回?cái)?shù)組劃分的位置,即數(shù)組中第一個(gè)位置 i,滿(mǎn)足 nums[i] 大于等于 k。
LintCode題目地址

def partitionArray(self, nums, k):
        # write your code here
        n = len(nums)
        if n == 0:
            return 0
        
        start, end = 0,n - 1
        while start  <= end:
            while start <= end and nums[start] < k:
                start += 1
            while start <= end and nums[end] >= k:
                end -= 1
            if start <= end:
                tmp = nums[start]
                nums[start] = nums[end]
                nums[end] = tmp
                start += 1
                end -= 1
                
        return start
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 題目 給出一個(gè)整數(shù)數(shù)組 nums 和一個(gè)整數(shù) k。劃分?jǐn)?shù)組(即移動(dòng)數(shù)組 nums 中的元素),使得: 所有小于k的...
    六尺帳篷閱讀 580評(píng)論 0 1
  • Given an array of 2n integers, your task is to group thes...
    這就是一個(gè)隨意的名字閱讀 283評(píng)論 0 0
  • 原題 解 第一步,萬(wàn)年不變的查錯(cuò)。如果給的array是null或空,直接return 0 這道題很簡(jiǎn)單,簡(jiǎn)直對(duì)不起...
    Jay_8d33閱讀 203評(píng)論 0 0
  • 描述 將一個(gè)沒(méi)有經(jīng)過(guò)排序的整數(shù)數(shù)組劃分為 3 部分:1.第一部分中所有的值都 < low2.第二部分中所有的值都 ...
    6默默Welsh閱讀 417評(píng)論 0 0
  • 每天忙于繁雜的事務(wù),日程表排得滿(mǎn)滿(mǎn)當(dāng)當(dāng),工作、家庭、朋友、愛(ài)好,一樣都不能少,很多人不解,問(wèn)道:“每天如此忙碌,為...
    獨(dú)行俠者閱讀 748評(píng)論 0 2

友情鏈接更多精彩內(nèi)容