12
返回列表 发新帖
楼主: 匿名
跳转到指定楼层
上一主题 下一主题
收起左侧

非死不可店面挂经

🔗
huali0415 2021-2-17 13:51:36 | 只看该作者
全局:
这是一个明显的backtracking题,dp可能没必要
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-K6AJR  2021-2-17 14:02:40
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
glad2mu 2021-2-17 14:23:33 | 只看该作者
全局:
感觉就是建一个map,里面是1->A, 11->B, 111->C, 2->D...以此类推,然后backtracking。
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-K6AJR  2021-2-17 14:30:31
glad2mu 发表于 2021-2-17 14:23
感觉就是建一个map,里面是1->A, 11->B, 111->C, 2->D...以此类推,然后backtracking。

但是还有1111->A, 11111->B的情况怎么建表呢?
回复

使用道具 举报

🔗
glad2mu 2021-2-18 07:51:08 | 只看该作者
全局:
匿名者 发表于 2021-2-17 14:30
但是还有1111->A, 11111->B的情况怎么建表呢?

长度超过了可以取mod呀~~zszs
回复

使用道具 举报

🔗
Jennifer1986 2021-2-20 05:10:19 | 只看该作者
全局:
请问楼主那个热身的密码锁题能说详细一点,谢谢
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-K6AJR  2021-2-20 06:01:52
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies

评分

参与人数 1大米 +1 收起 理由
phonger + 1 赞一个

查看全部评分

回复

使用道具 举报

🔗
whiteboard 2021-3-10 00:01:34 | 只看该作者
全局:
第二题写一个,是要用memo记录下来已经解决的子问题

  1. unordered_map<int, vector<char>> key_maps;
  2. unordered_map<int, vector<string>> memo;

  3. vector<string> helper(vector<int> nums, int i)
  4. {
  5.     if (memo.count(i))
  6.         return memo[i];

  7.     int n = nums.size();
  8.     vector<string> result;

  9.     //base case
  10.     if (i == n) return {""};

  11.     //recursive case
  12.     int j = i;  
  13.     while (j < n && (j == i || nums[j] == nums[j-1])) {
  14.         vector<char> &keys = key_maps[nums[j]];
  15.         int idx = (j - i) % keys.size();
  16.         char c = keys[idx];

  17.         vector<string> tmp = helper(nums, j+1);
  18.         for (string &str : tmp)
  19.             result.push_back(c + str);
  20.         j++;
  21.     }   

  22.     memo[i] = result;

  23.     return result;
  24. }

  25. vector<string> presskey(vector<pair<int, vector<char>>> &input, vector<int> &nums)
  26. {
  27.     for (auto &p : input)
  28.         key_maps[p.first] = p.second;

  29.     return helper(nums, 0);
  30. }

  31. int main()
  32. {
  33.     vector<pair<int, vector<char>>> input = {{1, {'A','B','C'}}, {2, {'D','E','F'}}, {0,{'X','Y','Z'}}};
  34.     vector<int> nums = {1,1,1,2};
  35.     vector<string> result = presskey(input, nums);
  36.     for (string &str : result)
  37.         cout << str << endl;
  38.     return 0;
复制代码
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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