楼主: 匿名
跳转到指定楼层
上一主题 下一主题
收起左侧

骨骼 OV 挂经 求米安抚

地里匿名用户
🔗
匿名用户-HTOOO  2020-7-31 10:57:15
旧未来 发表于 2020-7-31 07:25
感谢lz面筋 有几个问题想问题一下
1. ”验证这轮的string有没有可能性成为上一轮原string“这个问题是什么 ...

1.  我也是被他给问懵了一开始,然后花了2-3分钟去问他具体什么意思。后来才发现他的意思是
   第一部分,如果target是abcd, 猜测是accc,这个时候return 1完全匹配1位置匹配。那到第二部分,我们已经知道输入accc,得到1完全匹配1位置匹配,那我们再输入一个cccc,我们就知道这个肯定不可能是target,因为我们accc和cccc无法得到1完全匹配1位置匹配。

5. 不行。不能落单。
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-HTOOO  2020-7-31 10:59:08
密码 发表于 2020-7-31 10:17
是L4么?楼主方便透露是哪方面feedback不好么? 如果都写的不错还被挂,我感觉我也不用去面了最近

最后一轮,写得方法复杂度太高,写得有点慢。其他都是说很好的,让我保持,特别是沟通和the way to appoach problem。是l4。
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-HTOOO  2020-7-31 10:59:56
YZPYAN 发表于 2020-7-31 10:24
已加米!想问下112这个情况胡么?虽然有11 但是2落单了。谢谢

不行。这样打麻将是不胡牌的。lol
回复

使用道具 举报

🔗
旧未来 2020-7-31 11:22:16 | 只看该作者
全局:
匿名者 发表于 2020-7-31 10:57
1.  我也是被他给问懵了一开始,然后花了2-3分钟去问他具体什么意思。后来才发现他的意思是
   第一部分 ...

给的数字都是作为1-9来看待吗?就是都是single-digit的用来判断
回复

使用道具 举报

🔗
zvzv1919 2020-7-31 11:58:34 | 只看该作者
全局:
最后一问dfs/bfs加memorization或者dp,复杂度应该是O(n)吧?这还能怎么优化啊
回复

使用道具 举报

🔗
zvzv1919 2020-7-31 12:00:22 | 只看该作者
全局:
这问参考leetcode wordbreak,这问相当于dictionary里的word length都是2或者3,所以wordbreak是square,这问应该是linear
回复

使用道具 举报

🔗
mylarryshell 2020-7-31 12:01:06 | 只看该作者
全局:
本帖最后由 mylarryshell 于 2020-7-31 12:03 编辑
匿名者 发表于 2020-7-31 06:40
可能是我没有表达清楚。input随便,
还有
例子1:22334455也是胡牌,你可以自己组和成234 234 55。

第五题应该可以用greedy来做
回复

使用道具 举报

🔗
zvzv1919 2020-7-31 12:07:56 | 只看该作者
全局:
mylarryshell 发表于 2020-7-31 12:01
第五题应该可以用greedy来做

求问greedy具体怎么实现啊
回复

使用道具 举报

🔗
旧未来 2020-7-31 12:24:40 | 只看该作者
全局:
本帖最后由 旧未来 于 2020-7-31 12:40 编辑

尝试了一下感觉greedy似乎可以:主要就是每次都选一个数作为pair的那个数,然后只要确保剩下的数可以构成ABC或者AAA的pattern,这个结果就是valid的

  1. bool isABCOrAAAPattern(const vector<int>& v) {
  2.     vector<int> newArr(v);
  3.    
  4.     for (int i = 0; i < newArr.size() - 2; i++) {
  5.         while (newArr[i] > 0 && newArr[i] != 3) {   
  6.             newArr[i] -= 1;
  7.             if (newArr[i + 1] <= 0) {
  8.                 return false;
  9.             } else {
  10.                 newArr[i + 1] -= 1;
  11.             }
  12.             
  13.             if (newArr[i + 2] <= 0) {
  14.                 return false;
  15.             } else {
  16.                 newArr[i + 2] -= 1;
  17.             }
  18.         }
  19.     }
  20.          
  21.     for (int i=0; i<newArr.size(); i++) {
  22.         if (newArr[i] != 0 && newArr[i] != 3) {
  23.             return false;
  24.         }
  25.     }
  26.    
  27.     return true;

  28. }

  29. bool isOK(){
  30.     vector<int> cards{1,1,2,2,2,3,3,3,3,3,4};
  31.     vector<int> nums(10);
  32.     for (int i = 0; i < cards.size(); i++)
  33.         nums[cards[i]]++;
  34.     for (int i = 1; i <= 9; i++){
  35.         if (nums[i] < 2)
  36.             continue;
  37.         
  38.         // try i
  39.         nums[i] -= 2;
  40.         if (isABCOrAAAPattern(nums))
  41.             return true;
  42.         
  43.         nums[i] += 2;
  44.     }
  45.    
  46.     return false;
  47. }

  48. // To execute C++, please define "int main()"
  49. int main() {
  50.     cout << isOK();   
  51. }
复制代码
[/i][/i][/i][/i][/i][/i][/i][/i][/i]



评分

参与人数 1大米 +1 收起 理由
TranquilSilence + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

全局:
zvzv1919 发表于 2020-07-30 20:58:34
最后一问dfs/bfs加memorization或者dp,复杂度应该是O(n)吧?这还能怎么优化啊
lol,第五题怎么可能O(n),你写个我看看。
回复

使用道具 举报

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

本版积分规则

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