Leetcode - 532. K-diff Pairs in an Array

Example 1:

Input:[3, 1, 4, 1, 5], k = 2

Output:2

Explanation:There are two 2-diff pairs in the array, (1, 3) and (3, 5).

Although we have two 1s in the input, we should only return the number ofuniquepairs.


Example 2:

Input:[1, 2, 3, 4, 5], k = 1

Output:4

Explanation:There are four 1-diff pairs in the array, (1, 2), (2, 3), (3, 4) and (4, 5).


Example 3:

Input:[1, 3, 1, 5, 4], k = 0

Output:1

Explanation:There is one 0-diff pair in the array, (1, 1).


question

解法:

hashtable

首先将 list 转换成哈希表,这样做可以是搜索为O(1), which is nice

对 nums 中每个数字进行搜索

如果 num + diff 在 hashtable里面说明存在一个条件的数字存在 count+=1

......  num - diff  ........................ count+=1

内存消耗:

O(n) + O(m)

时间消耗:

O(n)


代码: 代码存在一些处理edge case的:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,354评论 0 33
  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 13,491评论 0 23
  • 有位军人,在战场上无畏生死,战斗中总冲在最前面。由于他的赫赫战功,很快就晋升为团长。他当团长之后,依旧每次战斗冲在...
    海王星1984阅读 1,760评论 0 0
  • 昨天终于回到学校了,搬了半天行李,弄了一天总算稍微整齐点了…昨天没来得及写周记,今晚补上。 反过来活 什么叫反过来...
    Wilbur_阅读 1,405评论 0 0
  • 今天是游泳的第五天,到了学习蛙泳较难的一部分,呼吸配合。昨天学的动作,今天主要是复习,但还是没有完全掌握住方法。 ...
    _七秒_阅读 1,036评论 0 0

友情链接更多精彩内容