Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ExamRoom {
- var sit = [Int]()
- let maxEnd : Int
- init(_ N: Int) {
- maxEnd = N
- }
- func seat() -> Int {
- if sit.count == 0 {
- sit.append(0)
- return 0
- }
- var maxLenth = 0
- var res = -1
- if !sit.contains(0){ //0没有用过
- maxLenth = sit[0] - 0
- res = 0
- }
- var left = 0
- var runner = left + 1
- while runner < sit.count{
- let len = (sit[runner] - sit[left] ) / 2
- if len > maxLenth{
- maxLenth = len
- res = (sit[runner] + sit[left] ) / 2
- }
- left = runner
- runner += 1
- }
- if !sit.contains(maxEnd - 1){ //0没有用过
- let len = (maxEnd - 1 - sit.last!)
- print(maxLenth)
- if len > maxLenth{
- res = maxEnd - 1
- }
- }
- sit.append(res)
- sit.sort()
- return res
- }
- func leave(_ p: Int) {
- sit = sit.filter{$0 != p}
- // print(sit)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement