黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

python練習題---給定一個整數(shù)數(shù)組 nums 和一個目標值 target

系統(tǒng) 2821 0

收集一些python的練習題,在追求應用的同時千萬不要忘了基礎的東西,我會不定期的總結一些我做過的小題目,大家一起進步!

題目描述
給定一個整數(shù)數(shù)組 nums 和一個目標值 target,請你在該數(shù)組中找出和為目標值的那 兩個 整數(shù),并返回他們的數(shù)組下標。

解題一
這道題拿過來首先很容易想到暴力解決沒錯我第一步也是這么干的,很容易想到兩個循環(huán)進行判斷,這個代碼很容易看的懂,也很容易理解,不做多解釋,但是這樣運行的時間和所占內(nèi)存都是非常大的。很不好的一種方法。

            
              class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        result = []
        len_nums = len(nums)
        for i in range(len_nums):
            for j in range(i+1,len_nums):
                num = nums[i] + nums[j]
                if num == target:
                    result.append(i)
                    result.append(j)
                    break
        return result

            
          

解題二

利用哈希字典查找,通過枚舉將數(shù)值對應關系放入字典中,然后判斷目標值和每一個值得差值在不在字典中。時間復雜度為O(n) 空間復雜度為O(n)

            
              
def tow_sum_with_dict(nums, target):
    _dict = {}
    for i, m in enumerate(nums):
        _dict[m] = i
    for i, m in enumerate(nums):
        j = _dict.get(target - m)
        if j is not None and i != j:
            return [i, j]

if __name__ == '__main__':
    nums = [2, 7, 11, 15]
    target = 9
    a = tow_sum_with_dict(nums,target)

            
          

解題三
一遍字典模擬Hash,其實這個是接著上一個來的,對上一種方法的優(yōu)化
當判斷不符合條件時往字典中添加鍵值。這樣能夠節(jié)省內(nèi)存的消耗。

            
              def tow_sum_with_dict2(nums, target):
        _dict = {}
        for i, m in enumerate(nums):
            if _dict.get(target - m) is not None:
                return [i, _dict.get(target - m)]
            _dict[m] = i


            
          

有什么建議或不懂的歡迎評論方留言,我們一起溝通交流!


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論