一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 422|回复: 0
收起左侧

Uber 电面

[复制链接] |试试Instant~ |关注本帖
douya 发表于 2015-10-21 23:45:08 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类 硕士 全职@Uber - 内推 - 技术电面 |Failfresh grad应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x

设计个结构,存key,time,value
要insert(key,time,value)和get(key),get(key,time). Waral 鍗氬鏈夋洿澶氭枃绔,
get(key)的时候,要是一个key有好几个time,那么返回过去最近的那个
get(key,time) 就是返回过去离time最近的那个。

看过面经,我就说用treemap。。。他说你用bst,写一个呗。。。code半天一推bug,跪了

这是全是bug的代码,可能设计的也不好。大家随便看看吧
class Solution {. visit 1point3acres.com for more.
   12, 'loc2'
10, 'loc1'
15, 'loc3'


10 = 'loc1'
14 = 'loc2'.鐣欏璁哄潧-涓浜-涓夊垎鍦
  public static void main(String[] args) {


    MyTree mt = new MyTree();
    mt.insert(12,loc2,mt);
    mt.insert(10,loc1,mt);. from: 1point3acres.com/bbs
    mt.insert(15,loc3,mt);
    System.out.println(mt.get(10,mt.root));
    System.out.println(mt.get(14,mt));
  }. 1point 3acres 璁哄潧
. 1point 3acres 璁哄潧
. from: 1point3acres.com/bbs
. from: 1point3acres.com/bbs

  class MyTreeNode{
    MyTreeNode left;
    MyTreeNode right;
    int key;
    String val;
    public MyTreeNode(int key, String val){
      this.val = val;
      this.key = key;. 鍥磋鎴戜滑@1point 3 acres
    }.鐣欏璁哄潧-涓浜-涓夊垎鍦
  }.1point3acres缃

  class MyTree{
    MyTreeNode root;. 鍥磋鎴戜滑@1point 3 acres
    public MyTree(){
      root=null;.鐣欏璁哄潧-涓浜-涓夊垎鍦
    }
    public void insert(int time, String loc,MyTreeNode node){
      if(node==null){
        node = new MyTreeNode(time,loc);
      } else {
        if(root.keytime){
          insert(time,loc,root.left);
        } else{
          insert(time,loc,root.right);
        }
      }
    }

    MyTreeNode pre = null;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
    public String get(int time, MyTreeNode node){
      if(node==null) return not found;
      if(time==node.key) return node.val;. 1point 3acres 璁哄潧
      if(timenode.key){
        if(node.right==null) return node.val;
        pre = node.val;
        return get(time,node.right);
      } else {
        if(node.left==null) {
          if(pre==null) return not found;. 1point 3acres 璁哄潧
          return pre.val;
        }
        return get(time,node.left);. visit 1point3acres.com for more.
      }

    }. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  }

}


评分

1

查看全部评分

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-8 02:57

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表