为有牺牲多壮志,敢教日月换新天。

[Swift]LeetCode170.两数之和III - 数据结构设计 $ Two Sum III - Data structure design

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/10127752.html 
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

热烈欢迎,请直接点击!!!

进入博主App Store主页,下载使用各个作品!!!

注:博主将坚持每月上线一个新app!!!

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.

For example,
add(1); add(3); add(5);
find(4) -> true
find(7) -> false


设计和实现一个TwoSum类。它应该支持以下操作:add和find。

add-将数字添加到内部数据结构。

find-查找是否存在求和等于值的任何对数对。

例如,

add(1); add(3); add(5);
find(4) -> true
find(7) -> false


12ms

 1 class Solution {
 2     var s:[Int] = [Int]()
 3     func add(_ number:Int)
 4     {
 5         s.append(number)
 6     }
 7     
 8     func find(_ value:Int) -> Bool
 9     {
10         for a in s
11         {
12             var cnt:Int = 0
13             if a == (value - a)
14             {
15                 cnt = 1
16             }
17             else
18             {
19                 cnt = 0
20             }
21             if count(value - a) > cnt
22             {
23                 return true
24             }
25         }
26         return false
27     }
28     
29     //统计某个值出现的次数
30     func count(_ num:Int) -> Int
31     {
32         var number:Int = 0
33         for i in s
34         {
35             if num == i
36             {
37                 number += 1
38             }
39         }
40         return number
41     }
42 }

 

posted @ 2018-12-16 19:50  为敢技术  阅读(224)  评论(0编辑  收藏  举报