楼主: yzz9055
跳转到指定楼层
上一主题 下一主题
收起左侧

fb 电面

🔗
 楼主| yzz9055 2017-6-13 03:20:58 | 只看该作者
全局:
derek09 发表于 2017-6-12 10:11
第2题不太懂,“找出最左边是1的列”应该怎么理解? = =

举个栗子

y:0, 1, 2, 3, 4
[[0, 0, 1, 1, 1],
[0, 1, 1, 1, 1],
[0, 0, 1, 1, 1],
[0, 0, 0, 0, 0]]
答案是 1,第一个1出现在index=1的Y轴上

[[0, 0, 0, 0, 1],  
[0, 0, 1, 1, 1],     
[0, 0, 1, 1, 1],
[1, 1, 1, 1, 1]]   
答案是0 第一个1出现在index=0的Y轴上

就是问 最先见到1的Y轴是什么
回复

使用道具 举报

🔗
 楼主| yzz9055 2017-6-13 03:21:17 | 只看该作者
全局:
举个栗子  y:0, 1, 2, 3, 4 [[0, 0, 1, 1, 1],  [0, 1, 1, 1, 1],  [0, 0, 1, 1, 1],  [0, 0, 0, 0, 0]] 答案是 1,第一个1出现在index=1的Y轴上   [[0, 0, 0, 0, 1],    [0, 0, 1, 1, 1],       [0, 0, 1, 1, 1],   [1, 1, 1, 1, 1]]    答案是0 第一个1出现在index=0的Y轴上  就是问 最先见到1的Y轴是什么
回复

使用道具 举报

🔗
 楼主| yzz9055 2017-6-13 03:22:02 | 只看该作者
全局:
jy_121 发表于 2017-6-12 10:22
同想问下第二题,谢谢

回复了, 看看例子把
回复

使用道具 举报

🔗
 楼主| yzz9055 2017-6-13 03:22:13 | 只看该作者
全局:
熟狗脸 发表于 2017-6-12 10:26
楼主最后一题是啥意思,能给个example answer 不?谢谢

给啦。看下回复呗
回复

使用道具 举报

🔗
 楼主| yzz9055 2017-6-13 03:26:17 | 只看该作者
全局:
edyyy 发表于 2017-6-12 10:42
第二题是利口-留吴?挺难的,无数corner cases. 第三题什么意思,不是很懂啊,你的例子里哪个是“最左边是1 ...

我看了下,是利口-留吴原题。我没做过利口的这一题。但是我在码之前 先列出要注意CASE, 这样思路清晰一些,

第三题我回复写了例子,你去看看呗。

谢谢大米
回复

使用道具 举报

🔗
 楼主| yzz9055 2017-6-13 03:27:36 | 只看该作者
全局:
woshiee123 发表于 2017-6-13 01:07
求问楼主投简历的时候是general的职位还是有倾向的 类似安卓之类的

我网投general职位。没有倾向。但是听说他们在招很多安卓的人
回复

使用道具 举报

🔗
oldman09 2017-6-13 03:38:17 | 只看该作者
全局:
mybreeze 发表于 2017-6-12 14:07
第二题,单层行循环+binary search

这样做是o(mlog(n)) 遇到1向左遇到0向下是o(m+n)
回复

使用道具 举报

🔗
ruomingxx 2017-6-13 19:49:34 | 只看该作者
全局:
感谢楼主, 加油拿到
回复

使用道具 举报

🔗
zzgzzm 2017-8-9 11:21:37 | 只看该作者
全局:
scredwood 发表于 2017-6-12 11:53
第三题的答案是第二列?  第二列 有一个1,在最左边。  这样应该就两个for循环,

这个算法是正确,但time complexity O(MN) in worst case, e.g., matrix has only last column as 1, all other zeros.
回复

使用道具 举报

🔗
zzgzzm 2017-8-9 11:28:03 | 只看该作者
全局:
Q3, Left most one's column index:

int leftMostOneIndex(vector<vector<int>>& matrix) {
  int row = matrix.size();
  int col = row? matrix[0].size() : 0;
  if (row == 0 || col == 0) return -1; // default invalid value

  int i = 0, j = col-1;
  while (i < row && j > 0) {
    if (matrix[ i][j] && matrix[ i][j-1]) --j;
    else ++i;
  }
  return (i < row) || matrix[row-1][j] ? j : -1;
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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