📣 Back to School开学季 - VIP通行证5折优惠!蓝莓、Offer多多同步优惠
12
返回列表 发新帖
楼主: dbg_lucas
跳转到指定楼层
上一主题 下一主题
收起左侧

Bloomberg继续跪

🔗
golittleflag 2017-8-19 04:14:26 | 只看该作者
全局:

感谢 祝offer多多~~
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

🔗
endofunctor 2017-8-20 04:33:13 | 只看该作者
全局:
dbg_lucas 发表于 2017-8-19 05:33
大神威武 如果返回要求是所有可能解码的vector,DP还能用么?

能吧。。。先用dp数组记录prev index,然后逆向dfs。思路有点像word break II
  1. void helper(vector<vector<int> >& dp, vector<string>& res, string& s, int cur, const string& ss) {
  2.   if (cur == 0) {
  3.     string tmp = s;
  4.     reverse(tmp.begin(), tmp.end());
  5.     res.push_back(tmp);
  6.     return;
  7.   }
  8.   for (auto prevIdx: dp[cur]) {
  9.     int offset = stoi(ss.substr(prevIdx, cur - prevIdx));
  10.     char c = 'a' - 1 + offset;
  11.     s.push_back(c);
  12.     helper(dp, res, s, prevIdx, ss);
  13.     s.pop_back();
  14.   }
  15. }

  16. vector<string> decode(const string& s) {
  17.   if (s.empty() || s[0] == '0')
  18.     return {};
  19.   vector<vector<int> > dp(s.size() + 1, {});
  20.   dp[1].push_back(0);
  21.   for (int i = 0; i < s.size() - 1; ++i) {
  22.     char a = s[i];
  23.     char b = s[i + 1];
  24.     if (b == '0') {
  25.       if (a == '0' || a >= '3') {
  26.         return {};
  27.       }
  28.       dp[i + 2].push_back(i);
  29.     }
  30.     else if (a == '1' || (a == 2 && b <= '6')) {
  31.       dp[i + 2].push_back(i + 1);
  32.       dp[i + 2].push_back(i);
  33.     }
  34.     else {
  35.       dp[i + 2].push_back(i + 1);
  36.     }
  37.   }

  38.   vector<string> res;
  39.   string ss;
  40.   helper(dp, res, ss, s.size(), s);
  41.   return res;
  42. }
复制代码
回复

使用道具 举报

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

本版积分规则

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