Two Sum III - Data structure design

复制代码
/**
 * https://www.lintcode.com/problem/two-sum-iii-data-structure-design/description
 *
 * Design and implement a TwoSum class.
 * It should support the following operations: add and find.

add - Add the number to an internal data structure.
find - Find if there exists any pair of numbers which sum is equal to the value.
Example

Example 1:

add(1); add(3); add(5);
find(4) // return true
find(7) // return false


 * */
class Solustion {
    val map = HashMap<Int, Int>()
    fun add(value: Int) {
        map.put(value, map.getOrDefault(value, 0) + 1)
    }

    fun find(needFind: Int): Boolean {
        for ((key,value) in map){
            val diff = needFind-key
            if ((diff != key && map.containsKey(diff)) || (diff == key && value > 1)) {
                return true
            }
        }
        return false
    }
}
复制代码

 

posted @   johnny_zhao  阅读(165)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示