• 八方資訊網歡迎您!
    八方資訊網>理財>正文

    一道LeetCode簡單題,卻打消了我對Python的自以為是

    2020-03-23 07:07:41 來源: 閱讀:

    優質文章,第一時間送達!

    Leetcode最新上線了手機版app,之前手機只能通過瀏覽器登錄網站學習,如今有app,閑了就可以瞅兩道題。今天等車的時候隨手翻了一道題

    169. 多數元素 http://leetcode-cn.com/problems/majority-element/。

    看了下是眾數問題,腦子簡單過了下大概思路,就準備接著看其他題了。但想想還是看下別人是怎么做的吧,結果….

    關于題目

    給定一個大小為 n 的數組,找到其中的多數元素。多數元素是指在數組中出現次數大于 ? n/2 ? 的元素。

    你可以假設數組是非空的,并且給定的數組總是存在多數元素。

    示例 1:

    輸入: [3,2,3]

    輸出: 3

    示例 2:

    輸入: [2,2,1,1,1,2,2]

    輸出: 2

    暴力解法

    先來看看最簡單無腦的暴力解法,詳細大多數人都能想到該解題方式:

    1class Solution:
    2 def majorityElement(self, nums):
    3 majority_count = len(nums)//2
    4 for num in nums:
    5 count = sum(1 for elem in nums if elem == num)
    6 if count > majority_count:
    7 return num

    先計算列表1/2的長度,然后進行for循環嵌套最終獲取結果。這種時間復雜度:O(n*n)的解法就不多贅述了。主要看看下面兩種解法。

    哈希表

    這種方法,在LeetCode上很常見,就是使用Counter的方式,生成針對元素與出現次數的字典,然后進行計算。

    1class Solution:
    2 def majorityElement(self, nums):
    3 counts = collections.Counter(nums)
    4 return max(counts.keys, key=counts.get)

    本來覺得沒什么特別,但當看到return操作時,覺得自己幾年的Python都白學了。居然不知道max函數,具有key的方法…一直是用它來簡單的比較最大值。殊不知針對字典操作時,max可以通過定義key值來進行動態比較。(類似的方法如sorted倒是經常使用)…

    不知道max有key這個參數的,舉個手,讓我知道我不是一個人,哈哈…

    奇思妙想

    最讓我佩服的就是下面這種解題思路,堪稱經典。

    文中定義有一個關鍵點,多數元素是指數據中出現大于n/2的元素。那么如果所有數字被單調遞增或者單調遞減的順序排了序,當n是奇數時,眾數的下標為n/2,當n是偶數時,下標為n/2 +1。于是出現了下面這種犀利的解法。

    1class Solution:
    2 def majorityElement(self, nums):
    3 nums.sort
    4 return nums[len(nums)//2]

    然而,官方的答案還遠不止這些,一共提供了六種解答方式。所以,你覺得自己Python學到位了嗎?

    本文為企業推廣,本網站不做任何建議,僅提供參考,作為信息展示!

    推薦閱讀:蘋果x與xr

    網友評論
    請登錄后進行評論| 0條評論

    請文明發言,還可以輸入140

    您的評論已經發表成功,請等候審核

    小提示:您要為您發表的言論后果負責,請各位遵守法紀注意語言文明

    回到首頁 回到頂部
    八方資訊網 關于我們| 聯系我們| 招聘信息| 老版地圖| 網站地圖
    免責聲明:八方資訊網所有文字、圖片、視頻、音頻等資料均來自互聯網,不代表本站贊同其觀點,本站亦不為其版權負責。相關作品的原創性、文中陳述文字以及內容數據龐雜本站無法一一核實,如果您發現本網站上有侵犯您的合法權益的內容,請聯系我們,本網站將立即予以刪除!
    Copyright © 2012-2019 http://m.quan28.cn, All rights reserved.
    主站蜘蛛池模板: 久久精品国产亚洲AV大全| 国产麻豆一精品一AV一免费| 国产精品天天看天天狠| 久久精品二区| 亚洲精品福利视频| 99久久人妻无码精品系列蜜桃| 亚洲精品国产日韩无码AV永久免费网| 国产精品99久久久久久猫咪| 久久精品国产影库免费看 | 精品中文高清欧美| 92精品国产自产在线观看| 91国在线啪精品一区| 国产午夜无码精品免费看| 久久久久女人精品毛片| 亚洲精品无码久久久久去q | 国产精品成人99久久久久| 高清免费久久午夜精品| 国产精品原创巨作av女教师| 四虎国产精品永久在线| 久久99精品久久久久久齐齐| 久久99精品久久久久久野外| 青青青青久久精品国产h| 国产99视频精品一区| 91麻豆国产福利精品| 国产精品后入内射日本在线观看| 日本伊人精品一区二区三区| 无码精品久久久久久人妻中字| 一本一道久久a久久精品综合| 色婷婷久久久SWAG精品| 西瓜精品国产自在现线| 亚洲精品成人区在线观看| 亚洲精品乱码久久久久久不卡 | 无码国产精品一区二区免费16| 午夜精品久久久内射近拍高清| 少妇亚洲免费精品| 亚洲精品无码乱码成人| 日本午夜精品一区二区三区电影| 久久ww精品w免费人成| 久久99精品久久久久婷婷| 国产乱码精品一区二区三区中文 | 亚洲国产精品自在在线观看|