题解 | #最小的K个数#

最小的K个数

https://www.nowcoder.com/practice/6a296eb82cf844ca8539b57c23e6e9bf

ic[key]!func GetLeastNumbers_Solution ( _ input: [Int],  _ k: Int) -> [Int] {
            var dic = [String:[Int]]()
    for item in input {
        let key = "\(item)"
        if dic[key] == nil {
            dic[key] = [item]
        } else {
            if var newValue = dic[key] {
                newValue.append(newValue[newValue.count - 1])
                dic[key] = newValue
            }
        }
    }
    let keys = Set.init(input).sorted(by: <)
    var result = [Int]()
    var count = 0
    for i in 0..<keys.count {
        let key = "\(keys[i])"
         result.append(contentsOf: dic[key]!)
         count += dic[key]!.count
        if count > k {
           break
        }
    }
    
    return [Int](result[0..<k])
    }

func GetLeastNumbers_Solution ( _ input: [Int],  _ k: Int) -> [Int] {
            var dic = [String:[Int]]()
    for item in input {
        let key = "\(item)"
        if dic[key] == nil {
            dic[key] = [item]
        } else {
            if var newValue = dic[key] {
                newValue.append(newValue[newValue.count - 1])
                dic[key] = newValue
            }
        }
    }
    let keys = Set.init(input).sorted(by: <)
    var result = [Int]()
    var count = 0
    for i in 0..<keys.count {
        let key = "\(keys[i])"
         result.append(contentsOf: dic[key]!)
         count += dic[key]!.count
        if count > k {
           break
        }
    }
    
    return [Int](result[0..<k])
    }

全部评论

相关推荐

01-07 15:50
四川大学 Java
看日出看日落:好好背八股,做算法。我身边跟你bg差不多的基本都大厂暑期
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务