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

本文探讨了如何利用哈希表实现序列的O(1)添加、查询和删除操作,同时介绍了在不增加额外空间的情况下,如何维护栈的最大值及求解ln5的算法策略。
对于一个不同数的序列如何做到O(1)的添加,查询,删除,取随机数

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

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

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

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

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

现在已经收到offer

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值