国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站建設(shè)案例簡介怎么寫西安百度關(guān)鍵詞推廣

網(wǎng)站建設(shè)案例簡介怎么寫,西安百度關(guān)鍵詞推廣,政府政務(wù)服務(wù)網(wǎng)站建設(shè)外包,專業(yè)網(wǎng)站建設(shè)制作公司哪家好文章目錄題目標(biāo)題和出處難度題目描述要求示例數(shù)據(jù)范圍解法思路和算法代碼復(fù)雜度分析題目 標(biāo)題和出處 標(biāo)題:數(shù)組中的 k-diff 數(shù)對 出處:532. 數(shù)組中的 k-diff 數(shù)對 難度 4 級 題目描述 要求 給定一個整數(shù)數(shù)組 nums\texttt{nums}nums 和一個整數(shù) k…

文章目錄

  • 題目
    • 標(biāo)題和出處
    • 難度
    • 題目描述
      • 要求
      • 示例
      • 數(shù)據(jù)范圍
  • 解法
    • 思路和算法
    • 代碼
    • 復(fù)雜度分析

題目

標(biāo)題和出處

標(biāo)題:數(shù)組中的 k-diff 數(shù)對

出處:532. 數(shù)組中的 k-diff 數(shù)對

難度

4 級

題目描述

要求

給定一個整數(shù)數(shù)組 nums\texttt{nums}nums 和一個整數(shù) k\texttt{k}k,返回不同的 k\texttt{k}k-diff 數(shù)對的數(shù)目。

一個 k\texttt{k}k-diff 數(shù)對為一個整數(shù)對 (nums[i],nums[j])\texttt{(nums[i], nums[j])}(nums[i],?nums[j]),并滿足下述條件:

  • 0≤i,j<nums.length\texttt{0} \le \texttt{i, j} < \texttt{nums.length}0i,?j<nums.length
  • nums[i]≤nums[j]\texttt{nums[i]} \le \texttt{nums[j]}nums[i]nums[j]
  • |nums[i]-nums[j]|=k\texttt{|nums[i] - nums[j]|} = \texttt{k}|nums[i]?-?nums[j]|=k

注意,|val|\texttt{|val|}|val| 表示 val\texttt{val}val 的絕對值。

示例

示例 1:

輸入:nums=[3,1,4,1,5],k=2\texttt{nums = [3, 1, 4, 1, 5], k = 2}nums?=?[3,?1,?4,?1,?5],?k?=?2
輸出:2\texttt{2}2
解釋:數(shù)組中有兩個 2\texttt{2}2-diff 數(shù)對,(1,3)\texttt{(1, 3)}(1,?3)(3,5)\texttt{(3, 5)}(3,?5)
盡管數(shù)組中有兩個 1\texttt{1}1,但我們只應(yīng)返回不同的數(shù)對的數(shù)量。

示例 2:

輸入:nums=[1,2,3,4,5],k=1\texttt{nums = [1, 2, 3, 4, 5], k = 1}nums?=?[1,?2,?3,?4,?5],?k?=?1
輸出:4\texttt{4}4
解釋:數(shù)組中有四個 1\texttt{1}1-diff 數(shù)對,(1,2)\texttt{(1, 2)}(1,?2)(2,3)\texttt{(2, 3)}(2,?3)(3,4)\texttt{(3, 4)}(3,?4)(4,5)\texttt{(4, 5)}(4,?5)。

示例 3:

輸入:nums=[1,3,1,5,4],k=0\texttt{nums = [1, 3, 1, 5, 4], k = 0}nums?=?[1,?3,?1,?5,?4],?k?=?0
輸出:1\texttt{1}1
解釋:數(shù)組中只有一個 0\texttt{0}0-diff 數(shù)對,(1,1)\texttt{(1, 1)}(1,?1)

數(shù)據(jù)范圍

  • 1≤nums.length≤104\texttt{1} \le \texttt{nums.length} \le \texttt{10}^\texttt{4}1nums.length104
  • -107≤nums[i]≤107\texttt{-10}^\texttt{7} \le \texttt{nums[i]} \le \texttt{10}^\texttt{7}-107nums[i]107
  • 0≤k≤107\texttt{0} \le \texttt{k} \le \texttt{10}^\texttt{7}0k107

解法

思路和算法

由于題目要求計算數(shù)組 nums\textit{nums}nums 中的不同的差為 kkk 的數(shù)對的數(shù)目,因此只需要考慮數(shù)組中有哪些數(shù)字,不需要考慮順序。

計算差為 kkk 的數(shù)對的數(shù)目需要考慮兩種情況,分別是 k=0k = 0k=0k>0k > 0k>0

當(dāng) k=0k = 0k=0 時,每個差為 kkk 的數(shù)對由兩個相等的整數(shù)組成,對于任意整數(shù) num\textit{num}num,只有當(dāng) num\textit{num}num 在數(shù)組 nums\textit{nums}nums 中出現(xiàn)次數(shù)大于 111 次時,才有數(shù)對 (num,num)(\textit{num}, \textit{num})(num,num)。遍歷數(shù)組 nums\textit{nums}nums 并用哈希表記錄每個數(shù)字的出現(xiàn)次數(shù),然后遍歷哈希表,對于哈希表中的每個數(shù)字,如果出現(xiàn)次數(shù)大于 111 次,則將數(shù)對的數(shù)目加 111。遍歷哈希表結(jié)束之后即可得到差為 kkk 的數(shù)對的數(shù)目。

當(dāng) k>0k > 0k>0 時,每個差為 kkk 的數(shù)對由兩個不相等的整數(shù)組成,對于任意整數(shù) num\textit{num}num,當(dāng) num\textit{num}numnum+k\textit{num} + knum+k 都在數(shù)組中出現(xiàn)時,有數(shù)對 (num,num+k)(\textit{num}, \textit{num} + k)(num,num+k)。遍歷數(shù)組 nums\textit{nums}nums 并用哈希集合記錄出現(xiàn)的數(shù)字,然后遍歷哈希集合,對于哈希集合中的每個數(shù)字 num\textit{num}num,如果 num+k\textit{num} + knum+k 也在哈希集合中,則將數(shù)對的數(shù)目加 111。遍歷哈希集合結(jié)束之后即可得到差為 kkk 的數(shù)對的數(shù)目。

代碼

class Solution {public int findPairs(int[] nums, int k) {int pairs = 0;if (k == 0) {Map<Integer, Integer> map = new HashMap<Integer, Integer>();for (int num : nums) {map.put(num, map.getOrDefault(num, 0) + 1);}Set<Integer> set = map.keySet();for (int num : set) {if (map.get(num) > 1) {pairs++;}}} else {Set<Integer> set = new HashSet<Integer>();for (int num : nums) {set.add(num);}for (int num : set) {if (set.contains(num + k)) {pairs++;}}}return pairs;}
}

復(fù)雜度分析

  • 時間復(fù)雜度:O(n)O(n)O(n),其中 nnn 是數(shù)組 nums\textit{nums}nums 的長度。需要遍歷數(shù)組一次,使用哈希表或哈希集合存儲數(shù)組中的不同數(shù)字,然后遍歷哈希表或哈希集合一次,由于哈希表或哈希集合中的元素個數(shù)不超過數(shù)組長度,因此時間復(fù)雜度是 O(n)O(n)O(n)。

  • 空間復(fù)雜度:O(n)O(n)O(n),其中 nnn 是數(shù)組 nums\textit{nums}nums 的長度。需要使用哈希表或哈希集合存儲數(shù)組中的不同數(shù)字,最壞情況下需要存儲數(shù)組中的全部數(shù)字。

http://aloenet.com.cn/news/43107.html

相關(guān)文章:

  • 上海青浦房地產(chǎn)網(wǎng)站建設(shè)太原做網(wǎng)站的工作室
  • 營銷型企業(yè)網(wǎng)站項目策劃表武漢seo 網(wǎng)絡(luò)推廣
  • app下載官方網(wǎng)站seo軟件簡單易排名穩(wěn)定
  • 人與狗做的電影網(wǎng)站西安專業(yè)seo
  • 東莞建站怎么做360手機(jī)優(yōu)化大師下載
  • 太原seo計費(fèi)管理seo專業(yè)術(shù)語
  • 美國優(yōu)秀網(wǎng)站教你如何建立網(wǎng)站
  • 有人做網(wǎng)站花了10幾萬產(chǎn)品推廣方法
  • 西柏坡門戶網(wǎng)站建設(shè)規(guī)劃書淄博seo網(wǎng)絡(luò)公司
  • 天津企業(yè)設(shè)計網(wǎng)站建設(shè)清遠(yuǎn)今日頭條最新消息
  • 新手做自己的網(wǎng)站教程google廣告
  • 做網(wǎng)站有前景嗎網(wǎng)絡(luò)優(yōu)化app
  • 關(guān)鍵詞網(wǎng)站優(yōu)化平臺營銷型網(wǎng)站有哪些平臺
  • 東營做網(wǎng)站seo的長沙seo
  • 杭州網(wǎng)站建設(shè)杭州沃邇夫如何做好網(wǎng)絡(luò)營銷推廣
  • 沈陽健網(wǎng)站百度推廣管理
  • 高端品牌網(wǎng)站制作黃頁推廣2021
  • 老薛主機(jī)做電影網(wǎng)站怎么在百度發(fā)布免費(fèi)廣告
  • 深圳 營銷型網(wǎng)站建設(shè)百度引擎搜索
  • 南陽公司做網(wǎng)站武漢seo搜索優(yōu)化
  • 外貿(mào)推廣網(wǎng)站有哪些徐州百度seo排名優(yōu)化
  • 網(wǎng)站升級方案渠道推廣平臺
  • 主要的網(wǎng)站開發(fā)技術(shù)路線seo快速排名優(yōu)化方式
  • 做游戲數(shù)據(jù)分析的網(wǎng)站游戲推廣引流
  • 制作網(wǎng)站首先要知道什么鄭州網(wǎng)站推廣優(yōu)化公司
  • wordpress你訪問的網(wǎng)站不存在網(wǎng)址網(wǎng)域ip地址查詢
  • 論壇網(wǎng)站建設(shè)推廣優(yōu)化網(wǎng)絡(luò)營銷客服主要做什么
  • 北京網(wǎng)站開發(fā)建設(shè) 58同城抖音搜索引擎推廣
  • 濱州網(wǎng)站建設(shè)phpi百度網(wǎng)盤帳號登錄入口
  • 楊莊網(wǎng)站建設(shè)廣告推廣渠道有哪些