头条旷世算法岗算法面试题(非机器学习题)

对于一个不同数的序列如何做到O(1)的添加,查询,删除,取随机数

首先考虑添加查询和删除,能O(1)的删除查询的必然是HashTable
然后考虑取随机数,取随机数就需要知道下标,那么我可以增加一个数组,对于添加操作好说,但对于删除操作我对于每一个数要知道数组中的下标,这个时候维护一个HashMap就好了.(打ACM不知道HashMap,awsl)

如何不增加空间维护栈中最大值使得正常栈操作和寻找最大值都是O(1)

如果可以增加空间可以很简单的想到单调栈。
但如果不能增加空间,就将栈的元素变成与当前最大值的差再插入,同时更新最大值。

在给定e的大小,如何求ln5

当不知道e的大小可以使用积分,麦克劳林公式
知道e的大小可以使用牛顿迭代

现在已经收到offer

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值