Skip to content

Commit 3af0be4

Browse files
author
Chris Pilcher
authored
Merge pull request kodecocodes#156 from chris-pilcher/Set-Cover-Unweighted-Linting
Removing swiftlint warnings from Set Cover (Unweighted)
2 parents c416ac0 + 1cfb7de commit 3af0be4

File tree

4 files changed

+23
-23
lines changed

4 files changed

+23
-23
lines changed

Set Cover (Unweighted)/SetCover.playground/Contents.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ let array1 = randomArrayOfSets(covering: universe1)
33
let cover1 = universe1.cover(within: array1)
44

55
let universe2 = Set(1...10)
6-
let array2: Array<Set<Int>> = [[1,2,3,4,5,6,7], [8,9]]
6+
let array2: Array<Set<Int>> = [[1, 2, 3, 4, 5, 6, 7], [8, 9]]
77
let cover2 = universe2.cover(within: array2)
88

99
let universe3 = Set(["tall", "heavy"])
@@ -14,7 +14,7 @@ let universe4 = Set(["tall", "heavy", "green"])
1414
let cover4 = universe4.cover(within: array3)
1515

1616
let universe5: Set<Int> = [16, 32, 64]
17-
let array5: Array<Set<Int>> = [[16,17,18], [16,32,128], [1,2,3], [32,64,128]]
17+
let array5: Array<Set<Int>> = [[16, 17, 18], [16, 32, 128], [1, 2, 3], [32, 64, 128]]
1818
let cover5 = universe5.cover(within: array5)
1919

2020
let universe6: Set<Int> = [24, 89, 132, 90, 22]

Set Cover (Unweighted)/SetCover.playground/Sources/RandomArrayOfSets.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ public func randomArrayOfSets<T>(covering universe: Set<T>,
55
maxSetSizeFactor: Double = 0.6) -> Array<Set<T>> {
66
var result = [Set<T>]()
77
var ongoingUnion = Set<T>()
8-
8+
99
let minArraySize = Int(Double(universe.count) * minArraySizeFactor)
1010
var maxSetSize = Int(Double(universe.count) * maxSetSizeFactor)
1111
if maxSetSize > universe.count {
1212
maxSetSize = universe.count
1313
}
14-
14+
1515
while true {
1616
var generatedSet = Set<T>()
1717
let targetSetSize = Int(arc4random_uniform(UInt32(maxSetSize)) + 1)
18-
18+
1919
while true {
2020
let randomUniverseIndex = Int(arc4random_uniform(UInt32(universe.count)))
2121
for (setIndex, value) in universe.enumerate() {
@@ -24,20 +24,20 @@ public func randomArrayOfSets<T>(covering universe: Set<T>,
2424
break
2525
}
2626
}
27-
27+
2828
if generatedSet.count == targetSetSize {
2929
result.append(generatedSet)
3030
ongoingUnion = ongoingUnion.union(generatedSet)
3131
break
3232
}
3333
}
34-
34+
3535
if result.count >= minArraySize {
3636
if ongoingUnion == universe {
3737
break
3838
}
3939
}
4040
}
41-
41+
4242
return result
43-
}
43+
}

Set Cover (Unweighted)/SetCover.playground/Sources/SetCover.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,32 @@ public extension Set {
22
func cover(within array: Array<Set<Element>>) -> Array<Set<Element>>? {
33
var result: [Set<Element>]? = [Set<Element>]()
44
var remainingSet = self
5-
5+
66
func largestIntersectingSet() -> Set<Element>? {
77
var largestIntersectionLength = 0
88
var largestSet: Set<Element>?
9-
9+
1010
for set in array {
1111
let intersectionLength = remainingSet.intersect(set).count
1212
if intersectionLength > largestIntersectionLength {
1313
largestIntersectionLength = intersectionLength
1414
largestSet = set
1515
}
1616
}
17-
17+
1818
return largestSet
1919
}
20-
20+
2121
while remainingSet.count != 0 {
2222
guard let largestSet = largestIntersectingSet() else { break }
2323
result!.append(largestSet)
2424
remainingSet = remainingSet.subtract(largestSet)
2525
}
26-
26+
2727
if remainingSet.count != 0 || self.count == 0 {
2828
result = nil
2929
}
30-
30+
3131
return result
3232
}
33-
}
33+
}

Set Cover (Unweighted)/SetCover.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,32 @@ extension Set {
22
func cover(within array: Array<Set<Element>>) -> Array<Set<Element>>? {
33
var result: [Set<Element>]? = [Set<Element>]()
44
var remainingSet = self
5-
5+
66
func largestIntersectingSet() -> Set<Element>? {
77
var largestIntersectionLength = 0
88
var largestSet: Set<Element>?
9-
9+
1010
for set in array {
1111
let intersectionLength = remainingSet.intersect(set).count
1212
if intersectionLength > largestIntersectionLength {
1313
largestIntersectionLength = intersectionLength
1414
largestSet = set
1515
}
1616
}
17-
17+
1818
return largestSet
1919
}
20-
20+
2121
while remainingSet.count != 0 {
2222
guard let largestSet = largestIntersectingSet() else { break }
2323
result!.append(largestSet)
2424
remainingSet = remainingSet.subtract(largestSet)
2525
}
26-
26+
2727
if remainingSet.count != 0 || self.count == 0 {
2828
result = nil
2929
}
30-
30+
3131
return result
3232
}
33-
}
33+
}

0 commit comments

Comments
 (0)