最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python數(shù)組中的?k-diff?數(shù)對例題解析

 更新時間:2022年06月17日 10:00:40   作者:??盆友圈的小可愛????  
這篇文章主要介紹了python數(shù)組中的?k-diff?數(shù)對例題解析,文章根據(jù)題目內容對其進行分析以此展開主題內容,感興趣的小伙伴可以參考一下下面文章詳情

一、題目描述

題目內容:

題目示例:

題目解析:

  • 1 <= nums.length <= 104
  • -107 <= nums[i] <= 107
  • 0 <= k <= 107

二、思路分析

我們拿到本題,讀取題意要求在一組整數(shù)數(shù)組中,求出差值為k的數(shù)對對數(shù)k-diff。在思考如何解答該題之前,需要明確如下幾點細節(jié):

  • nums數(shù)組元素都是整數(shù)
  • 索引位置i與位置j,不能相等
  • k-diff數(shù)對關系:nums[i] - nums[j] = k -> nums[i] = nums[j] + k -〉 nums[i] - k = nums[j]
  • k-diff數(shù)對,存在相同數(shù)對情況,但結果只取1次

因此,我們的對題目中進行詳細了解了,因為會排除重復的數(shù)對,我們很容易想哈希表來構建

方法一:構建哈希表

根據(jù)上述思路,我們使用python代碼能快速實現(xiàn),代碼如下:

class Solution(object):
    def findPairs(self, nums, k):
        """
        :type nums: List[int]
        :type k: int
        :rtype: int
        """
        ans = set()
        numset = set()
        for num in nums:
            if num - k in numset:
                ans.add(num-k)
            if num + k in numset:
                ans.add(num)
            numset.add(num)
        return len(ans)
  • 數(shù)對中重復場景如示例一中差值為k=1,(1,3) & (3,1)視為一種情況,則要定義兩個哈希表來儲存
  • 哈希表可以通過字典k-value或者集合set(),本題無需考慮索引關系定義ans,numset兩個集合
  • 當 nums[i] > nums[j],則nums[j] = nums[i] - k在numset中,取最小的那一個則ans.add(nums[i]-k),
  • 當 nuns[i] < nums[j],則nums[j] = nums[i] + k 在numset中,取較小的那一個則ans.add(nums[i])

方法二:雙指針

image.png

根據(jù)上述思路,使用python代碼實現(xiàn),代碼如下:

class Solution(object):
    def findPairs(self, nums, k):
        """
        :type nums: List[int]
        :type k: int
        :rtype: int
        """
        nums.sort()
        ans = 0
        j = 0
        for i in range(len(nums)):
            if i == 0 or nums[i] != nums[i-1]:
                while j < len(nums) and (nums[j] < nums[i] + k or j <= i):
                    j +=1
                if j < len(nums) and nums[j] == nums[i] + k:
                    ans +=1
        return ans
  • 首先對nums數(shù)組中的元素按照從低到高的順序排列
  • 在遞增的數(shù)組中,由于雙指針 i!=j,因此i指針一定是小于j的
  • 枚舉查找的判斷的條件 nums[j] < nums[i]+k,指針j則往后移動
  • 當nums[j] = nums[i] + k 時,則對數(shù)次數(shù)+1

三、總結

本題可以使用哈希方法要使用兩個哈希表,屬于犧牲空間換取效率。雙指針方法,雖然沒有用額外的空間,但是速度較于方法一慢一點。

我們用第一種方法,AC提交記錄如下:

  • 時間復雜度O(n),n為nums長度
  • 空間復雜度O(n),需要使用哈希表,n為nums長度

到此這篇關于python數(shù)組中的 k-diff 數(shù)對例題解析的文章就介紹到這了,更多相關python k-diff 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python json模塊使用實例

    Python json模塊使用實例

    這篇文章主要介紹了Python json模塊使用實例,本文給出多個使用代碼實例,需要的朋友可以參考下
    2015-04-04
  • 如何在Django中使用聚合的實現(xiàn)示例

    如何在Django中使用聚合的實現(xiàn)示例

    這篇文章主要介紹了如何在Django中使用聚合的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • python解析網頁上的json數(shù)據(jù)并保存到EXCEL

    python解析網頁上的json數(shù)據(jù)并保存到EXCEL

    這篇文章主要為大家詳細介紹了如何使用python解析網頁上的json數(shù)據(jù)并保存到EXCEL,文中的示例代碼講解詳細,感興趣的可以了解下
    2024-11-11
  • 在Windows中設置Python環(huán)境變量的實例講解

    在Windows中設置Python環(huán)境變量的實例講解

    下面小編就為大家分享一篇在Windows中設置Python環(huán)境變量的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python3實現(xiàn)網頁內容轉換成PDF文檔和圖片

    Python3實現(xiàn)網頁內容轉換成PDF文檔和圖片

    pdfkit是把 HTML+CSS 格式的文件轉換成 PDF 的一種工具,它是 wkhtmltopdf 這個工具包的 python 封裝。本文將利用pdfkit實現(xiàn)網頁內容轉換成PDF文檔和圖片效果,感興趣的可以學習一下
    2022-06-06
  • Python2實現(xiàn)的圖片文本識別功能詳解

    Python2實現(xiàn)的圖片文本識別功能詳解

    這篇文章主要介紹了Python2實現(xiàn)的圖片文本識別功能,結合實例形式分析了Python pytesser庫的安裝及使用pytesser庫識別圖片文字相關操作技巧,需要的朋友可以參考下
    2018-07-07
  • python 獲取一個值在某個區(qū)間的指定倍數(shù)的值方法

    python 獲取一個值在某個區(qū)間的指定倍數(shù)的值方法

    今天小編就為大家分享一篇python 獲取一個值在某個區(qū)間的指定倍數(shù)的值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • 利用OpenCV判斷是否加載圖片的兩種方法

    利用OpenCV判斷是否加載圖片的兩種方法

    這篇文章主要介紹了利用OpenCV判斷是否加載圖片的兩種方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 在pycharm中調試fastapi應用程序的流程步驟

    在pycharm中調試fastapi應用程序的流程步驟

    ? FastAPI 是一個現(xiàn)代、快速(高性能)的 Web 框架,用于構建基于 Python 的 API,它具有簡單易用的特性,同時也提供了高度自動化的文檔生成功能,本文給大家介紹了在pycharm中調試fastapi應用程序的流程步驟,需要的朋友可以參考下
    2024-12-12
  • 如何關掉pycharm中的python console(圖解)

    如何關掉pycharm中的python console(圖解)

    本文通過圖文并茂的形式給大家介紹了如何關掉pycharm中的python console,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10

最新評論

禹城市| 双江| 洛隆县| 体育| 治县。| 大城县| 应城市| 东宁县| 缙云县| 泗水县| 桐梓县| 会宁县| 高淳县| 灌云县| 中阳县| 巴彦县| 乌审旗| 太保市| 手机| 运城市| 克东县| 三河市| 乃东县| 天峨县| 巴青县| 来凤县| 贵港市| 成都市| 宿松县| 治多县| 九寨沟县| 临湘市| 梨树县| 叙永县| 博客| 墨脱县| 汤原县| 靖边县| 扬州市| 东兰县| 阜新市|