一亩三分地论坛

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

一亩三分地官方iOS手机应用下载
查看: 477|回复: 0
收起左侧

Uber 电面

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

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

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

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

x

设计个结构,存key,time,value
. more info on 1point3acres.com要insert(key,time,value)和get(key),get(key,time)
get(key)的时候,要是一个key有好几个time,那么返回过去最近的那个
get(key,time) 就是返回过去离time最近的那个。

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

这是全是bug的代码,可能设计的也不好。大家随便看看吧
class Solution {
   12, 'loc2'
10, 'loc1'
15, 'loc3'
.1point3acres缃
. 1point3acres.com/bbs
10 = 'loc1'
14 = 'loc2'. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  public static void main(String[] args) {

-google 1point3acres
    MyTree mt = new MyTree();
    mt.insert(12,loc2,mt);
    mt.insert(10,loc1,mt);
    mt.insert(15,loc3,mt);
    System.out.println(mt.get(10,mt.root));
    System.out.println(mt.get(14,mt));
  }


. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

  class MyTreeNode{
    MyTreeNode left;
    MyTreeNode right;
    int key;
    String val;
    public MyTreeNode(int key, String val){
      this.val = val;
      this.key = key;. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
    }
  }

  class MyTree{-google 1point3acres
    MyTreeNode root;
    public MyTree(){.鏈枃鍘熷垱鑷1point3acres璁哄潧
      root=null;. 1point 3acres 璁哄潧
    }
    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);. 鍥磋鎴戜滑@1point 3 acres
        } else{
          insert(time,loc,root.right);
        }. more info on 1point3acres.com
      }
    } 鏉ユ簮涓浜.涓夊垎鍦拌鍧.

    MyTreeNode pre = null;
    public String get(int time, MyTreeNode node){.1point3acres缃
      if(node==null) return not found;
      if(time==node.key) return node.val;
      if(timenode.key){
        if(node.right==null) return node.val;. From 1point 3acres bbs
        pre = node.val;.鏈枃鍘熷垱鑷1point3acres璁哄潧
        return get(time,node.right);
      } else {
        if(node.left==null) {
          if(pre==null) return not found;
          return pre.val;
        }
        return get(time,node.left);
      }

    }
  }
.鏈枃鍘熷垱鑷1point3acres璁哄潧
}


评分

1

查看全部评分

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2017-2-24 20:58

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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