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

Google 昂赛

全局:

2018(10-12月) 码农类General 本科 全职@google - 内推 - Onsite  | | Fail | 应届毕业生

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
11.15 昂赛

听说G家内部题库一千多道,就没怎么刷题准备。吃吃喝喝倒是挺爽的,强烈推荐san jose的韶山印象,不错的湘菜哈哈哈。

G家昂赛感觉没有FB那么形式化,比较casual。地点在tech corners

十点半刚到building,一个俄罗斯小哥招呼我面试。
喝了杯咖啡,小哥看看表,问我想不想提前开始,我说好~

1. dp题。给一个grid的宽和长,求得从左下的点到右下的点所有可能的路径之和。
起点当然是左下,要求每次只能走三个方向, ➡
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
ue.
这题楼主没做过,后来发现就是ugly number ii。我花了45分钟勉强写一个O(nlogn),面试官心里的答案是O(n)
挂的妥妥的。

总体来看题并不难,怪自己刷题不够。恶补基础了

评分

参与人数 13大米 +44 收起 理由
lzhong + 3 楼主好运!
woderegou + 3 很有用的信息!
casco + 3 很有用的信息!
qiu_cqupt + 5 很有用的信息!
siranjoy119 + 3 很有用的信息!

查看全部评分


上一篇:特斯拉onsite-迷之被默拒
下一篇:口袋宝石 OA4

本帖被以下淘专辑推荐:

推荐
Ostrichi 2018-1-26 07:27:14 | 只看该作者
全局:
renou 发表于 2018-1-15 03:08
写了个扫地机器人代码,大家看看行不行?

def clean_room(robot, i, j, d, visited):

这应该是不行的  我没有理解错的话 这道题的难点就是你不知道机器人一开始的坐标 也不知道房间的地图

大概思路应该是假设机器人一开始在中间,然后你自己假设一个足够大的未探索‘’迷宫‘’ 然后用数据结构经典例题  栈走迷宫的办法(iterative) 或者是dfs(recursive) 然后使用api探索的, 边探索边更新迷宫的值

比如你假设这个房间最多50*50, 你就一开始初始化一个100*100 的char[][] 就假设机器人从 (50,50)开始  除了(50, 50)其余的都是‘*’ 表示未探索 然后你走到一个地方如果撞墙了就把‘*’ 改成1 else 改成0 应该大概就是这样子

回复

使用道具 举报

推荐
colden 2018-2-7 07:50:34 | 只看该作者
全局:
楼主可以再讲下第一题吗?是可以走哪三个方向??从左下到右下感觉挺奇怪的
回复

使用道具 举报

推荐
renou 2018-1-15 03:08:42 | 只看该作者
全局:
写了个扫地机器人代码,大家看看行不行?

def clean_room(robot, i, j, d, visited):
    delta = [(-1, 0), (0, 1), (1, 0), (-1, 0)]
    for k in range(4):
        new_d = (d + k) % 4
        di, dj = delta[new_d]
        if (i + di, j + dj) not in visited:
            visited.add((i + di, j + dj))
            moved = robot.move()
            if moved:
                clean_room(robot, i + di, j + dj, new_d, visited)
                # point to op dir
                robot.move()
                robot.turn_right(2)
            robot.turn_right(1)
    robot.turn_right(2)
回复

使用道具 举报

全局:
谢谢楼主分享~ 请问第一题没有给grid里面的值吗? 只给宽和高的话求路径和的意思是?
回复

使用道具 举报

🔗
hychin 2017-11-21 11:46:51 | 只看该作者
全局:
别的题都是leetcode medium/easy题没啥好说的   那个机器人题具体展开讲讲?
回复

使用道具 举报

全局:
楼主能不能再说说第二轮那个封装extra 参数的题?
回复

使用道具 举报

🔗
edyyy 2017-11-21 12:04:43 | 只看该作者
全局:
这个“{4, 0, x}, {3, 3, x}, {2, 2, x}, {1, 5, x} 答:binary search”是啥意思啊?
回复

使用道具 举报

🔗
hychin 2017-11-21 13:28:39 | 只看该作者
全局:
edyyy 发表于 2017-11-21 12:04
这个“{4, 0, x}, {3, 3, x}, {2, 2, x}, {1, 5, x} 答:binary search”是啥意思啊?

做个累积和就好了,之后就可以binary search
回复

使用道具 举报

🔗
 楼主| lidongze91 2017-11-21 13:31:25 | 只看该作者
全局:
大懒懒一休哥 发表于 2017-11-21 11:34
谢谢楼主分享~ 请问第一题没有给grid里面的值吗? 只给宽和高的话求路径和的意思是?

没有的,举个例子:

|---|----|-----|
|---|----|-----|
|---|----|-----|

这是一个宽为3,高为2,那么只考虑这上面的所有点也就是12个点。
就是说其实要建立的矩阵是4*3的

回复

使用道具 举报

🔗
 楼主| lidongze91 2017-11-21 13:34:58 | 只看该作者
全局:
hychin 发表于 2017-11-21 11:46
别的题都是leetcode medium/easy题没啥好说的   那个机器人题具体展开讲讲?

那道题,api 是这样的

bool move();
void turnRight(int n);
void turnLeft(int n);
void clean();

要求探索一个未知的房间。
实现就要用dfs然后clean到底之后要move back回原来的点
四个方向要用api实现,要对应好,然后move back回来的时候需要调整方向
回复

使用道具 举报

🔗
 楼主| lidongze91 2017-11-21 13:35:56 | 只看该作者
全局:
edyyy 发表于 2017-11-21 12:04
这个“{4, 0, x}, {3, 3, x}, {2, 2, x}, {1, 5, x} 答:binary search”是啥意思啊?

x就是多封装出来的参数,我选的是total number of elements at that point.
这样就能用idx进行二分查找。
回复

使用道具 举报

🔗
hychin 2017-11-21 14:33:57 | 只看该作者
全局:
lidongze91 发表于 2017-11-21 13:34
那道题,api 是这样的

bool move();

如果是未知空间,你怎么记录哪些房间是已经访问过的了避免重复访问?
回复

使用道具 举报

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

本版积分规则

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