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

GOOGLE ONSITE一道最近高频DP

 
全局:

2017(1-3月) 码农类General 硕士 全职@google - 内推 - Onsite  | | Other | 在职跳槽

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

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

x
L代表late,A代表absence,O代表正常出席,input是一个string,包含L,A,O,要求不能
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
量. more info o

这题DP谁能写写?

评分

参与人数 2大米 +6 收起 理由
dobbin + 3 感谢分享!
Mr.Sagemaker + 3 谢谢你的介绍!

查看全部评分


上一篇:收到亚麻75 分钟coding test 是OA1 还是 OA2?
下一篇:2/10 amazon oa 2

本帖被以下淘专辑推荐:

推荐
codepike 2017-3-17 10:13:53 | 只看该作者
全局:
  1. int count(int n) {
  2.         // igore "A" first, and consider "O" and "L" only
  3.         // create a 2D array dp[i][j]
  4.         // dp[i][0] the number of rewardable string with length of i and the last letter is "O"
  5.         // dp[i][1] the number of rewardable string with length of i and the last letter is "L"
  6.         vector<vector<int>> dp(n+1, vector<int>{1,0});
  7.         dp[1] = {1,1};

  8.         for (auto i = 2; i <= n; ++i) {
  9.                 dp[i][0] = dp[i-1][0] + dp[i-1][1];  // the ith letter is O
  10.                 dp[i][1] = dp[i-1][0] + dp[i-2][0];  // the ith letter is L
  11.         }

  12.         int res = dp[n][0] + dp[n][1];   // case when there is no "A"
  13.         // consider all the cases with one A
  14.         // there are i letters to the left of A and n-i-1 letter to the right of A
  15.         for (int i = 0; i < n; ++i) {
  16.                 res += (dp[i][0]+dp[i][1])*(dp[n-i-1][0] + dp[n-i-1][1]);
  17.         }
  18.        
  19.         return res;
  20. }
复制代码

评分

参与人数 2大米 +15 收起 理由
mayingjie116 + 5 给你点个赞!
kennethinsnow + 10 回答的很好!

查看全部评分

回复

使用道具 举报

推荐
kqxqx 2017-10-9 05:20:52 | 只看该作者
全局:
李特口德 唔唔耳
回复

使用道具 举报

推荐
csehao 2017-2-27 15:01:54 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
lhh_NJU 2017-2-13 08:25:42 | 只看该作者
全局:
Followup 没看懂. 但是就题目本身而言, 为啥要用DP啊? 一遍扫过去不就可以了吗?
回复

使用道具 举报

🔗
4seasonoffer 2017-2-13 08:48:43 | 只看该作者
全局:
lhh_NJU 发表于 2017-2-13 08:25
Followup 没看懂. 但是就题目本身而言, 为啥要用DP啊? 一遍扫过去不就可以了吗?

follow up 要用dp
題意是要你找出所有長度為n 且會被award的出席狀況
回复

使用道具 举报

🔗
say543 2017-2-13 09:24:22 | 只看该作者
全局:
follow up 不能maintain 一个window 像sliding window 一样来check 有没有3 consecutive late吗?
回复

使用道具 举报

🔗
AndrewFish 2017-2-13 10:15:22 | 只看该作者
全局:
DFS +BT不就行了?
回复

使用道具 举报

🔗
AndrewFish 2017-2-13 10:17:29 | 只看该作者
全局:
DP的话看看最后几个是不是都是late  然后absence用过没  分情况讨论?
回复

使用道具 举报

🔗
dexter 2017-2-13 11:13:39 | 只看该作者
全局:
谢谢楼主分享!想一想这题
回复

使用道具 举报

🔗
pwwpche 2017-2-13 12:14:43 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
Mr.Sagemaker 2017-2-13 16:24:05 | 只看该作者
全局:
follow up 只要求返回数量的话,这样解不行咩?长度为n的string总数量再减去 un-rewardable的string 数量;
回复

使用道具 举报

🔗
cgxy1991 2017-2-14 00:39:45 | 只看该作者
全局:
第二问用dp恐怕太过复杂,用backtracking解吧。。。
回复

使用道具 举报

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

本版积分规则

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