11//: Playground - noun: a place where people can play
22
3- func kthLargest( a: [ Int ] , k: Int ) -> Int ? {
3+ func kthLargest( _ a: [ Int ] , _ k: Int ) -> Int ? {
44 let len = a. count
55 if k > 0 && k <= len {
6- let sorted = a. sort ( )
6+ let sorted = a. sorted ( )
77 return sorted [ len - k]
88 } else {
99 return nil
@@ -12,23 +12,23 @@ func kthLargest(a: [Int], k: Int) -> Int? {
1212
1313let a = [ 5 , 1 , 3 , 2 , 7 , 6 , 4 ]
1414
15- kthLargest ( a, k : 0 )
16- kthLargest ( a, k : 1 )
17- kthLargest ( a, k : 2 )
18- kthLargest ( a, k : 3 )
19- kthLargest ( a, k : 4 )
20- kthLargest ( a, k : 5 )
21- kthLargest ( a, k : 6 )
22- kthLargest ( a, k : 7 )
23- kthLargest ( a, k : 8 )
15+ kthLargest ( a, 0 )
16+ kthLargest ( a, 1 )
17+ kthLargest ( a, 2 )
18+ kthLargest ( a, 3 )
19+ kthLargest ( a, 4 )
20+ kthLargest ( a, 5 )
21+ kthLargest ( a, 6 )
22+ kthLargest ( a, 7 )
23+ kthLargest ( a, 8 )
2424
2525
2626
2727
2828import Foundation
2929
3030/* Returns a random integer in the range min...max, inclusive. */
31- public func random( min min: Int , max: Int ) -> Int {
31+ public func random( min: Int , max: Int ) -> Int {
3232 assert ( min < max)
3333 return min + Int( arc4random_uniform ( UInt32 ( max - min + 1 ) ) )
3434}
@@ -37,22 +37,22 @@ public func random(min min: Int, max: Int) -> Int {
3737 Swift's swap() doesn't like it if the items you're trying to swap refer to
3838 the same memory location. This little wrapper simply ignores such swaps.
3939*/
40- public func swap< T> ( inout a: [ T ] , _ i: Int , _ j: Int ) {
40+ public func swap< T> ( _ a: inout [ T ] , _ i: Int , _ j: Int ) {
4141 if i != j {
4242 swap ( & a[ i] , & a[ j] )
4343 }
4444}
4545
46- public func randomizedSelect< T: Comparable > ( array: [ T ] , order k: Int ) -> T {
46+ public func randomizedSelect< T: Comparable > ( _ array: [ T ] , order k: Int ) -> T {
4747 var a = array
4848
49- func randomPivot< T: Comparable > ( inout a: [ T ] , _ low: Int , _ high: Int ) -> T {
49+ func randomPivot< T: Comparable > ( _ a: inout [ T ] , _ low: Int , _ high: Int ) -> T {
5050 let pivotIndex = random ( min: low, max: high)
5151 swap ( & a, pivotIndex, high)
5252 return a [ high]
5353 }
5454
55- func randomizedPartition< T: Comparable > ( inout a: [ T ] , _ low: Int , _ high: Int ) -> Int {
55+ func randomizedPartition< T: Comparable > ( _ a: inout [ T ] , _ low: Int , _ high: Int ) -> Int {
5656 let pivot = randomPivot ( & a, low, high)
5757 var i = low
5858 for j in low..< high {
@@ -65,7 +65,7 @@ public func randomizedSelect<T: Comparable>(array: [T], order k: Int) -> T {
6565 return i
6666 }
6767
68- func randomizedSelect< T: Comparable > ( inout a: [ T ] , _ low: Int , _ high: Int , _ k: Int ) -> T {
68+ func randomizedSelect< T: Comparable > ( _ a: inout [ T ] , _ low: Int , _ high: Int , _ k: Int ) -> T {
6969 if low < high {
7070 let p = randomizedPartition ( & a, low, high)
7171 if k == p {
0 commit comments