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

FB电面

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

使用道具 举报

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

使用道具 举报

🔗
iPhD 2016-10-14 12:17:49 | 只看该作者
全局:
pineapple1985 发表于 2016-10-14 12:14
如果B里面全是0, 你这个code好像没输出。但是输出应该是1。
另外time应该是times吧? 这个code会不会有 ...

对,要提前打印一个1出来,我写的太急了。

一亩三分地的编辑器有问题,把我代码弄乱了,是times(i).
回复

使用道具 举报

🔗
iPhD 2016-10-14 12:18:24 | 只看该作者
全局:
pineapple1985 发表于 2016-10-14 12:14
如果B里面全是0, 你这个code好像没输出。但是输出应该是1。
另外time应该是times吧? 这个code会不会有 ...

质数想乘不会有重复结果的
回复

使用道具 举报

🔗
minggr 2016-10-14 12:44:47 | 只看该作者
全局:
输出没有要求是排好序的吧?

也来一个backtracking的
  1. void prime_product(vector<int> &res, int product, vector<int> &primes, vector<int> &nums, int i)
  2. {   
  3.     if (i == (int)primes.size()) {
  4.         res.push_back(product);
  5.         return;
  6.     }
  7.    
  8.     int p = 1;
  9.     for (int j = 0; j <= nums[i]; j++) {
  10.         prime_product(res, product * p, primes, nums, i+1);
  11.         p = p * primes[i];
  12.     }
  13. }

  14. int main()
  15. {
  16.     vector<int> res;
  17.     vector<int> primes = {2, 3, 5, 7};
  18.     vector<int> nums = {1, 2, 1, 3};

  19.     prime_product(res, 1, primes, nums, 0);

  20.     //Does the output need to be sorted?
  21.     //sort(res.begin(), res.end());

  22.     for (int i: res)
  23.         cout << i << " ";
  24.     cout << endl;

  25.     return 0;
  26. }
复制代码

补充内容 (2016-10-14 12:46):
别外,这个是不是prime应该无所谓吧,还是另有玄机?
回复

使用道具 举报

🔗
littlebearull 2016-10-14 12:45:23 | 只看该作者
全局:
iPhD 发表于 2016-10-14 12:18
质数想乘不会有重复结果的

确实会有重复,需要加一个start index,下一次递归时,从i开始,而不是每次都从0开始。
回复

使用道具 举报

🔗
minggr 2016-10-14 12:49:30 | 只看该作者
全局:
minggr 发表于 2016-10-14 12:44
输出没有要求是排好序的吧?

也来一个backtracking的

啊,了解了,prime才不会产生相同的product
回复

使用道具 举报

🔗
helloworld00 2016-10-14 21:38:43 | 只看该作者
全局:
第二个说实话没太看懂,  /* 第二题的B数组的值指的是对应prime number可以相乘的最多次数。 */ 如果b数组厘米对应的是prime number可以相乘的次数,是跟自己相乘吗?如果是,那output里的6是怎么来的?
回复

使用道具 举报

🔗
 楼主| pineapple1985 2016-10-14 22:51:30 | 只看该作者
全局:
没排序要求,要求同一个数不能重复输出。空间复杂度要求O(n), n是数组 A, B的长度。所以要求primes都是不同的
回复

使用道具 举报

🔗
 楼主| pineapple1985 2016-10-14 22:53:07 | 只看该作者
全局:
2^1 * 3^1 * 5^0 * 7^0 = 6
回复

使用道具 举报

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

本版积分规则

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