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

狗家月初昂塞

🔗
mchzh 2018-12-18 14:42:07 | 只看该作者
全局:
楼主有狗家的面经总结吗?多谢
回复

使用道具 举报

🔗
stellari 2018-12-19 15:13:28 | 只看该作者
全局:
Teddies 发表于 2018-12-7 23:41
首先补充一下这道题不用考虑空集,不过其实考不考虑就是答案加一的事,不影响做题。

在没有重复的时候 ...

感谢楼主分享。follow up我想可以这样:
例:[1 1 1 2 2 2 2 3 3] K = 4
把所有的unique数字和它们出现的次数提取出来:
unique数字:a = [1 2 3]
出现次数:   t = [3 4 2]

然后还按左右指针的办法,左指针i=0,右指针j=2。a[ 0 ]+ a [ 2 ] = 1 + 3 <=4。此时a[0..2]范围内的每一个数字a[k]都可以在subgroup在出现0, 1, ... 或t[k]次,即有(t[k]+1)种可能。不过a[0]必须要出现至少一次,所以有t[0]种可能。不同数字的出现次数是互不相关的,因此[0..2]这个范围内总共有(t[ 0 ] ) * (t[ 1 ] + 1) * (t[ 2 ] + 1) = 3 * 5 * 3 = 45种可能的subgroup的选择方法。接下来的指针移动方法和无重复数字的情况相同。

没有重复数字时,t其实就是[1 1 1],所以[0..2]范围内就只有1 * (1+1)*(1+1) = 2^2 = 4种情况,这是上述一般方法的一个特例。

评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

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