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

热乎Google昂赛

🔗
sfsttz 2018-10-30 14:53:31 | 只看该作者
全局:
第4题扫一遍T是要对S的所有后缀建trie吧。感觉这种题一定有用神奇字符串数据结构的无敌做法,凡人用trie就好了。。。
回复

使用道具 举报

🔗
空空道友 2018-10-30 22:55:38 | 只看该作者
全局:
题都出来了应该就差不多了吧
回复

使用道具 举报

🔗
sly1061101 2018-10-31 00:30:59 | 只看该作者
全局:
老哥⛽️
回复

使用道具 举报

🔗
nhqgoal 2018-10-31 04:52:06 | 只看该作者
全局:
foryousee 发表于 2018-10-30 14:50
你会写dp当然可以,但这道题dp不好写。

sry 我以为是predict the winner那道题。
回复

使用道具 举报

🔗
wtcupup 2018-11-3 02:20:59 | 只看该作者
全局:
请问 family tree找两个人有没有血缘关系 用了bi-directional BFS了吗?
回复

使用道具 举报

🔗
Heinrich 2018-11-19 05:20:15 | 只看该作者
全局:
简单写了一下Q3的做法,有不太好的地方求指点:


  1. string rotate180(string s, unordered_map<char, char>& nums) {
  2.     string r = s;
  3.     for (int i = 0; i<s.size(); i++)
  4.         r[s.size()-1-i] = nums[s[i]];
  5.     return r;
  6. }

  7. void helper(string& cur, int start, const string& low, const string& high, vector<string>& res, unordered_map<char, char>& nums) {
  8.     if (start==cur.size()) {
  9.         if ((cur.size()==low.size() && cur<low) || (cur.size()==high.size() && cur>high) || cur.back()=='0')
  10.             return;
  11.         string ans = rotate180(cur, nums);
  12.         if ((ans.size()==low.size() && ans<low) || (ans.size()==high.size() && ans>high) || ans == cur)
  13.             return;
  14.         res.push_back(ans);
  15.         return;
  16.     }
  17.     for (auto item : nums) {
  18.         cur[start] = item.first;
  19.         if (start==0 && item.first=='0')
  20.             continue;
  21.         helper(cur, start+1, low, high, res, nums);
  22.     }
  23. }

  24. vector<string> stroNumInRange(string low, string high) {
  25.     vector<string> res;
  26.     unordered_map<char, char> nums = {{'0', '0'}, {'1', '1'}, {'6', '9'}, {'8', '8'}, {'9', '6'}};
  27.     for (int sz = low.size(); sz <= high.size(); sz++) {
  28.         string cur = string(sz, ' ');
  29.         helper(cur, 0, low, high, res, nums);
  30.     }
  31.     return res;
  32. }

  33. int main() {
  34.     vector<string> ra = stroNumInRange("0", "20");
  35.     for (auto r : ra)
  36.         cout << r << " ";
  37.     cout << endl;

  38.     vector<string> rb = stroNumInRange("50", "100");
  39.     for (auto r : rb)
  40.         cout << r << " ";
  41.     cout << endl;
  42.    
  43.     return 0;
  44. }
复制代码

评分

参与人数 1大米 +10 收起 理由
二院老同志 + 10 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
yut210 2018-11-19 13:45:38 | 只看该作者
全局:
问一下楼主 题目拍照是什么意思是查重吗
回复

使用道具 举报

🔗
gypcmbczs 2018-11-24 06:59:12 | 只看该作者
全局:
foryousee 发表于 2018-10-30 14:52
我现在也在纠结要不要准备一下DAG的几个特别变态的算法。但是估计准备了上去换题还是懵逼。第四题我写的最 ...

求解法,我只想到尽可能往后扫t,但是复杂度很高
回复

使用道具 举报

🔗
sderek 2018-11-24 07:29:50 来自APP | 只看该作者
全局:
请问什么叫pa啊
回复

使用道具 举报

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

本版积分规则

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