Skip to content

Commit 955bae2

Browse files
committed
Fixes indentation of code to 2 spaces
1 parent 11bb58e commit 955bae2

File tree

1 file changed

+43
-43
lines changed

1 file changed

+43
-43
lines changed

LRU Cache/LRUCache.swift

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -9,51 +9,51 @@
99
import Foundation
1010

1111
public class LRUCache<KeyType: Hashable> {
12-
private let maxSize: Int
13-
private var cache: [KeyType: Any] = [:]
14-
private var priority: LinkedList<KeyType> = LinkedList<KeyType>()
15-
private var key2node: [KeyType: LinkedList<KeyType>.LinkedListNode<KeyType>] = [:]
16-
17-
public init(_ maxSize: Int) {
18-
self.maxSize = maxSize
12+
private let maxSize: Int
13+
private var cache: [KeyType: Any] = [:]
14+
private var priority: LinkedList<KeyType> = LinkedList<KeyType>()
15+
private var key2node: [KeyType: LinkedList<KeyType>.LinkedListNode<KeyType>] = [:]
16+
17+
public init(_ maxSize: Int) {
18+
self.maxSize = maxSize
19+
}
20+
21+
public func get(_ key: KeyType) -> Any? {
22+
guard let val = cache[key] else {
23+
return nil
1924
}
20-
21-
public func get(_ key: KeyType) -> Any? {
22-
guard let val = cache[key] else {
23-
return nil
24-
}
25-
26-
remove(key)
27-
insert(key, val: val)
28-
29-
return val
25+
26+
remove(key)
27+
insert(key, val: val)
28+
29+
return val
30+
}
31+
32+
public func set(_ key: KeyType, val: Any) {
33+
if cache[key] != nil {
34+
remove(key)
35+
} else if priority.count >= maxSize, let keyToRemove = priority.last?.value {
36+
remove(keyToRemove)
3037
}
31-
32-
public func set(_ key: KeyType, val: Any) {
33-
if cache[key] != nil {
34-
remove(key)
35-
} else if priority.count >= maxSize, let keyToRemove = priority.last?.value {
36-
remove(keyToRemove)
37-
}
38-
39-
insert(key, val: val)
40-
}
41-
42-
private func remove(_ key: KeyType) {
43-
cache.removeValue(forKey: key)
44-
guard let node = key2node[key] else {
45-
return
46-
}
47-
priority.remove(node: node)
48-
key2node.removeValue(forKey: key)
38+
39+
insert(key, val: val)
40+
}
41+
42+
private func remove(_ key: KeyType) {
43+
cache.removeValue(forKey: key)
44+
guard let node = key2node[key] else {
45+
return
4946
}
50-
51-
private func insert(_ key: KeyType, val: Any) {
52-
cache[key] = val
53-
priority.insert(key, atIndex: 0)
54-
guard let first = priority.first else {
55-
return
56-
}
57-
key2node[key] = first
47+
priority.remove(node: node)
48+
key2node.removeValue(forKey: key)
49+
}
50+
51+
private func insert(_ key: KeyType, val: Any) {
52+
cache[key] = val
53+
priority.insert(key, atIndex: 0)
54+
guard let first = priority.first else {
55+
return
5856
}
57+
key2node[key] = first
58+
}
5959
}

0 commit comments

Comments
 (0)