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

[2017/08/03] Facebook电面面经

🔗
mchzh 2017-8-13 01:12:17 | 只看该作者
全局:
mchzh 发表于 2017-8-13 00:42
不用set的话,提前计算的时候就得知道之前算过了?

楼主有任意两个质数相乘之后值会相同的例子吗? 多谢!
回复

使用道具 举报

🔗
sugar 2017-10-7 02:53:16 | 只看该作者
全局:
xuepanchen 发表于 2017-8-5 03:27
这个解法就是我一开始写的,会有重复的答案。

质数相乘会有重复答案?楼主请举个栗子
回复

使用道具 举报

🔗
Darkduke68 2017-10-9 04:16:11 | 只看该作者
全局:
def dfs(nums, start, res, product):
    if product is not None:
        res.add(product)
    for i in range(start, len(nums)):
        dfs(nums, i+1, res, nums[i] if product is None else product*nums[i])

dfs(nums, 0, set(), None)
回复

使用道具 举报

🔗
onerepublic 2017-10-9 05:24:23 | 只看该作者
全局:
感觉可以用subset的方法解答,同问重复的情况
  1. public List<Integer> countPrime(int[] array){
  2.             List<Integer> res  = new ArrayList<Integer>();
  3.             helper(array, 0, 1, res);
  4.             return res;
  5.     }
  6.    
  7.     public void helper(int[] array, int index, int cur, List<Integer> res){
  8.             for(int i=index;i<array.length;i++){
  9.                     res.add(cur*array[i]);
  10.                     helper(array, i+1, cur*array[i], res);
  11.             }
  12.     }
复制代码
回复

使用道具 举报

🔗
zhangsikai123 2017-10-16 12:10:15 | 只看该作者
全局:
def productPrimes(primes):
    N = len(primes)
    s = []
    def T(idx,p):
        for i in range(idx,N):
            p *= primes[i]
            s.append(p)
            T(i+1,p)
            p /= primes[i]
    T(0,1)
    return s
回复

使用道具 举报

🔗
hongtunbaobao 2017-10-16 13:20:31 | 只看该作者
全局:
littlegrass 发表于 2017-8-4 14:36
第二题我是这样子做的,有没有更好的答案?

helper(nums, i+1, 1, result);
这一句有什么特殊意义吗
回复

使用道具 举报

🔗
Pink_Guy 2017-10-16 14:03:42 | 只看该作者
全局:
质数没有重复就不会有重复的乘积…只能说楼主dfs写呲了
回复

使用道具 举报

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

本版积分规则

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