1223百度二面

1、topk
Python中的堆为小顶堆,
要实现大顶堆的话需要把原值取相反数

def getLeastNumbers(self, arr: List[int], k: int) -> List[int]:
        if k==0:
            return []
        arrheap=[-i for i in arr[:k]]
        heapq.heapify(arrheap)
        for j in range(k,len(arr)):
            if arr[j]<=-arrheap[0]:
                heapq.heappop(arrheap)
                heapq.heappush(arrheap,-arr[j])
        arrheap=[-i for i in arrheap ]
        return arrheap

2、犯罪人群预测系统,怎么选择特征,如何处理这些特征,如何处理稀疏特征(比如某种欺诈记录出现的情况很少,即使有记录,有效信息也很少)

3、100亿容量的URL黑名单,且内存容量有限(不能把黑名单上所有的数据load到内存上)新来一个URL如何进行查找;
构建多个哈希表,哈希表长度为内存容量,覆盖到整个黑名单,每来一个新URL,在多个哈希表中同时进行搜索比对。

4、验证循环链表

全部评论

相关推荐

小浪_Coding:1. 个人技能排版太乱, 写的技术栈太浅了, 跟测试,自动化相关的太少; 2. 项目开发类的太简单没有亮点, 算法类的项目建议只放一个,最好有自动化,CI/CD, pipline的项目, 需要更换; 3.整体排版需要优化, SOOB打招呼都需要注意等.
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务