📣 独立日限时特惠: VIP通行证立减$68
楼主: 匿名
跳转到指定楼层
上一主题 下一主题
收起左侧

骨骼onsite

🔗
小熊牛牛 2020-1-13 05:16:15 | 只看该作者
全局:
第一题好像是这样,奇数次就返回0
偶数次 从这两个里面重复取combination n//2 次 [(-1, 0) (1, 0)] , [(0, -1) (0, -1)] , 个数是 2**(n //2)
再在每种combination 算出所有排列 答案就是 2**(n //2)  * (n) !
回复

使用道具 举报

🔗
lc19890306 2020-1-20 23:59:09 | 只看该作者
全局:
第四轮看不懂
回复

使用道具 举报

🔗
iwishgandi 2020-2-10 08:00:09 | 只看该作者
全局:
多谢楼主!第四轮是三张牌随机抽取吗还是始终只能抽最上面的?
回复

使用道具 举报

🔗
djmiss 2020-2-11 02:56:22 | 只看该作者
全局:
小熊牛牛 发表于 2020-1-13 05:16
第一题好像是这样,奇数次就返回0
偶数次 从这两个里面重复取combination n//2 次 [(-1, 0) (1, 0)] , [(0 ...

一般来说,在全部n个元索中,如果有a个i、b个j, c个k.......个相同的元素,那么把n个元素排成一列的方法总数,可以通过以下公式进行计算:
n! / (a! + b! + c! + ...), 其中a + b + c + ... = n

对于这题,上下和左右分别是一对,所以用循环把所有上下,左右的组合加起来,应该就是答案了吧。
count = n! /(2! * (n - 2)!) + n! /(4! * (n - 4)!) + n! /(6! * (n - 6)!) + ... + n! / ((n - 2)! * 2!)
回复

使用道具 举报

🔗
Emol 2020-2-12 06:32:44 | 只看该作者
全局:
第四题在另外一帖里面也看过,感觉有点小歧义,按我的理解这道题是: 给一个array num[], 两个player,每个人一轮可以从array开头拿1-3个数,假设两个人都是optimal,问第一个人最多能拿多少分。
我一个简单的的想法就是从num的尾巴后面开始loop,另外用两个dp array A[]和B[] 来分别存 拿了几张牌 和 能拿多少分。
Initialize 是 B[length - 1] = num[length - 1], A[length -1] = 1;

那dp的关系就是
B[i] = Math.max( nums[i] + B[ A[i+1] + i + 1], nums[i] + nunms[i+1] + B[ A[i+2] + i + 2], nums[i] + nunms[i+1] + nums[i+2] + B[ A[i+3] + i + 3])
A[i]就看上一行里面到底取几张牌最大来决定是1,2还是3.
另外就是数组中有没有负数也会有点影响。按理说如果是牌的话应该没有负数才对。
回复

使用道具 举报

🔗
yezhengli_mr9 2020-2-13 14:59:11 | 只看该作者
全局:
drool 发表于 2019-12-24 12:52
我想这个题应该有个数学解吧?n是奇数不可能回到原点,偶数的话x,y方向成对出现的组合数即是解

貌似是的
回复

使用道具 举报

🔗
yezhengli_mr9 2020-2-13 15:08:24 | 只看该作者
全局:
匿名者 发表于 2020-1-2 15:29
第三题大家可以搜一下蓄水池采样算法,都看懂就肯定会了

我认为resolver sampling 那就不是range,而是a list of possible values
回复

使用道具 举报

🔗
ypcu327 2020-2-28 12:05:24 | 只看该作者
全局:
求问一下最后一轮什么思路啊
回复

使用道具 举报

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

本版积分规则

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