task_number_count-swift

1459 단어
func countTaskOfNumber(n: Int, m: Int , start: Array, end: Array,query:Array)  -> Array? {
        guard n == start.count , m == query.count else {
            print("error")
            return nil
        }
        var purpleArr = [(Int, Int)]()
        for (index, startNum) in start.enumerated() {
            let purple : (Int, Int) = (startNum, end[index])
            purpleArr.append(purple)
        }
        let purpleSort = purpleArr.sorted { (s1, s2) -> Bool in
            return s1.0 < s2.0
        }
        print("  purple : \(purpleSort)")
        var outPutArr = [Int]()
        var outPutDic = [Int:Int]() // dictionary
        for (_, task) in query.enumerated() {
            var outNumber = 0
            if let cacheNumber = outPutDic[task] {
                outNumber = cacheNumber
                print("task = \(task),   \(cacheNumber)")
            }else{
                for (_, purpleItem) in purpleSort.enumerated() {
                    guard task >= purpleItem.0 else {
                        break
                    }
                    if task < purpleItem.1 {
                        outNumber += 1
                    }
                }
            }
            outPutDic[task] = outNumber
            outPutArr.append(outNumber)
        }
        print(" :\(outPutArr)")
        return outPutArr
    }

좋은 웹페이지 즐겨찾기