iview 树最后一个节点的的图标_阿里开发者招聘节|面试题02-04:给一个二叉搜索树,找到K的节点...

为帮助开发者们提升面试技能、有机会入职阿里,云栖社区特别制作了这个专辑——阿里巴巴资深技术专家们结合多年的工作、面试经验总结提炼而成的面试真题这一次将陆续放出(面试题官方参考答案将在专辑结束后统一汇总分享,点此进入答题并围观他人答案 https://yq.aliyun.com/roundtable/497138)。并通过这些笔试真题开放阿里巴巴工作机会,让更多的开发者加入到阿里这个大平台。

这一次,不仅是知识的收获,还将间接地与技术大牛们做了直观的沟通,了解他们的出题思路与考察要点,并加以消化吸收,这对自己技术能力本身就是一种极大的提升。走上编程之路,不断丰富自己方能与世接轨,努力做最优秀的自己。

4月25日,我们给开发者的第2~4道面试题。

02.已知sqrt(2)约等于1.414,要求不用数学库,求sqrt(2)精确到小数点后10位

考察点:

  1. 基础算法的灵活应用能力(二分法学过数据结构的同学都知道,但不一定往这个方向考虑;如果
  2. 学过数值计算的同学,应该还要能想到牛顿迭代法并解释清楚)
  3. 退出条件设计

03. 给定一个二叉搜索树(BST),找到树中第K小的节点

考察点:

  1. 基础数据结构的理解和编码能力
  2. 递归使用

示例

如下图,输入K=3, 输出节点值3

fdfe644ee8687b9b51c052129fc96bb6.png

说明

保证输入的K满足1<=K<=(节点数目)

04.LRU缓存机制

设计和实现一个 LRU(最近最少使用)缓存 数据结构,使它应该支持以下操作: get 和 put 。

get(key) ‑ 如果key存在于缓存中,则获取key的value(总是正数),否则返回 ‑1。 put(key,

value) ‑ 如果key不存在,请设置或插入value。当缓存达到其容量时,它应该在插入新项目之前使

最近最少使用的项目作废。

案例:

LRUCache cache = new LRUCache( 2 / 容量 / );

cache.put(1, 1);

cache.put(2, 2);

cache.get(1); // 返回 1

cache.put(3, 3); // 该操作,会将 key 2 作废

cache.get(2); // 返回 ‑1 (结果不存在)

cache.put(4, 4); // 该操作,会将 key 1 作废

cache.get(1); // 返回 ‑1 (结果不存在)

cache.get(3); // 返回 3

cache.get(4); // 返回 4

测试用例: s = [["put

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值