一亩三分地论坛

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

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

facebook电面

[复制链接] |试试Instant~ |关注本帖
greenbanana 发表于 2016-5-13 13:01:58 | 显示全部楼层 |阅读模式

2016(4-6月) 码农类 硕士 全职@Facebook - 网上海投 - 技术电面 |Other在职跳槽

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

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

x
f家电面
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
两个binary string相加输出binary string, 给出基本解法后,更改输入是一个string集合,输出不变,然后问如何降低空间复杂度,因为我先reverse了输入string,就更改index为逆序节省空间

评分

1

查看全部评分

kemeng1314 发表于 2016-5-13 13:15:10 | 显示全部楼层
我今天面的就一个题,sort k list, 实现iterator的功能
回复 支持 反对

使用道具 举报

tcomein2009 发表于 2016-5-13 13:35:04 | 显示全部楼层
谢楼主分享!
回复 支持 反对

使用道具 举报

tcomein2009 发表于 2016-5-13 13:35:15 | 显示全部楼层
请问 “因为我先reverse了输入string,就更改index为逆序节省空间. 1point3acres.com/bbs” 是什么意思?
回复 支持 反对

使用道具 举报

wtcupup 发表于 2016-5-13 16:23:44 | 显示全部楼层
  1. public String addBinary(String a, String b) {.鏈枃鍘熷垱鑷1point3acres璁哄潧
  2.         StringBuilder sb = new StringBuilder();
  3.         int i = a.length() - 1, j = b.length() -1, carry = 0;
  4.         while (i >= 0 || j >= 0) {
  5.             int sum = carry;
  6.             if (j >= 0) sum += b.charAt(j--) - '0';
  7.             if (i >= 0) sum += a.charAt(i--) - '0';
  8.             sb.append(sum % 2);
  9.             carry = sum / 2;
  10.         }
  11.         if (carry != 0) sb.append(carry);.鐣欏璁哄潧-涓浜-涓夊垎鍦
  12.         return sb.reverse().toString();
  13.     }

  14.     public String addKBinary(String[] list){ 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  15.    
  16.      String sum=list[0];
  17.      for(int i=1;i<list.length();i++){
  18.      sum=addBinary(sum,list[i])
  19.      }
  20.       . from: 1point3acres.com/bbs
  21.       return sum;
  22.     }
复制代码

补充内容 (2016-5-13 16:23):
楼主是这样的吗?
回复 支持 反对

使用道具 举报

wtcupup 发表于 2016-5-13 16:51:45 | 显示全部楼层
kemeng1314 发表于 2016-5-13 13:15. Waral 鍗氬鏈夋洿澶氭枃绔,
我今天面的就一个题,sort k list, 实现iterator的功能
-google 1point3acres
private class KSortedListIterator implements java.util.Iterator<E> {
.鏈枃鍘熷垱鑷1point3acres璁哄潧
    public LinkedNode mergeKLists(ListNode[] lists) {
    //implementation from leetcode
     }. 1point3acres.com/bbs
    . From 1point 3acres bbs
    private LinkedNode<E> current=mergeKlists(lists). from: 1point3acres.com/bbs

  private LinkedListIterator() {
    current = head;  // from the enclosing class --. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
                     // ListIterator cannot be a static class
  }
.鐣欏璁哄潧-涓浜-涓夊垎鍦
  public boolean hasNext() {
    return (current != null);
  }

  public E next() { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
    if (hasNext()) {
      E result = current.item;
      current = current.next;   // may be null
      return result;
    }  // no next element.鏈枃鍘熷垱鑷1point3acres璁哄潧
    throw new java.util.NoSuchElementException("linked list.next");
  }. From 1point 3acres bbs
                     // ListIterator cannot be a static class. 1point 3acres 璁哄潧
  }
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  public boolean hasNext() {
    return (current != null);
  }

  public E next() {
    if (hasNext()) {
      E result = current.item;
      current = current.next;   // may be null
      return result;
    }  // no next element
    throw new java.util.NoSuchElementException("linked list.next");
  }
回复 支持 反对

使用道具 举报

yueliu2366 发表于 2016-5-13 19:57:34 | 显示全部楼层
kemeng1314 发表于 2016-5-13 13:15
我今天面的就一个题,sort k list, 实现iterator的功能
.鏈枃鍘熷垱鑷1point3acres璁哄潧
你是一个三哥面的吗
回复 支持 反对

使用道具 举报

kemeng1314 发表于 2016-5-13 22:35:59 | 显示全部楼层
wtcupup 发表于 2016-5-13 16:51
private class KSortedListIterator implements java.util.Iterator {
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
    public LinkedNode mergeKL ...
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
每一个sorted list不是linkedlist,是arraylist
回复 支持 反对

使用道具 举报

kemeng1314 发表于 2016-5-13 22:36:15 | 显示全部楼层
yueliu2366 发表于 2016-5-13 19:57. from: 1point3acres.com/bbs
你是一个三哥面的吗

不是,好像是美国人
回复 支持 反对

使用道具 举报

 楼主| greenbanana 发表于 2016-5-14 13:02:01 | 显示全部楼层
tcomein2009 发表于 2016-5-13 13:35. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
请问 “因为我先reverse了输入string,就更改index为逆序节省空间. 1point3acres.com/bbs” 是什么意思?

比如说 输入 101 和 10,换成10进制就是5 和2. 1point3acres.com/bbs
101 + 10 = 111
我开始时 先变成 101 + 01 然后从左向右做加法。其实是不需要这样做的,多用了很多空间,index从右向左就可以了
回复 支持 反对

使用道具 举报

 楼主| greenbanana 发表于 2016-5-14 13:11:05 | 显示全部楼层
wtcupup 发表于 2016-5-13 16:23
补充内容 (2016-5-13 16:23):. more info on 1point3acres.com
楼主是这样的吗?
. 1point 3acres 璁哄潧
addBinary 这样写是可以的,11行如果可以直接insert到最前面就好了,不用append,12行就不再需要reverse了,我是用的Python,面试官有提到这一点,不确定java有没有这种情况. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

addKBinary 要求是一个新的函数,不需要调用addbinary,其实就是把第四行的while loop改成适用 list of string
回复 支持 反对

使用道具 举报

tcomein2009 发表于 2016-5-14 13:29:09 | 显示全部楼层
greenbanana 发表于 2016-5-14 13:02
比如说 输入 101 和 10,换成10进制就是5 和2
101 + 10 = 111
我开始时 先变成 101 + 01 然后从左向右 ...

是的 是的  谢谢
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2017-1-20 20:27

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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