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

谷歌店面面经

🔗
aangel 2016-9-9 03:59:15 | 只看该作者
全局:
phantom 发表于 2016-9-9 02:12
https://en.wikipedia.org/wiki/Partition_problem#The_pseudo-polynomial_algorithm

其实有点像背包 ...

确实要开个二维数组用DP,这个做法是对的
回复

使用道具 举报

🔗
domofeng 2016-9-14 04:32:34 | 只看该作者
全局:
感觉象个01背包问题, 写了一下, 不知道对不对, 请指正:

  1. public static double divideMoney(List<Integer> list){
  2.             if(list==null || list.size()==0) return 0.0;

  3.             int sum=0;
  4.             for(int n : list) sum+=n;
  5.             
  6.             return helperBack(list, sum/2)*1.0/Math.pow(2, list.size());
  7.         }
  8.         public static int helperBack(List<Integer> list, int target){
  9.                 int[] dp=new int[target+1];
  10.                 dp[0]=1;
  11.                
  12.                 for(int i=0; i<list.size(); i++){
  13.                         for(int j=target; j>=1; j--){
  14.                                 if(j>=list.get(i)) dp[j]+=dp[j-list.get(i)];
  15.                         }
  16.                 }
  17.                 System.out.println("Tie: "+dp[target]);
  18.                 return dp[target];
  19.         }
复制代码
回复

使用道具 举报

🔗
pawprinter 2016-9-18 10:38:15 | 只看该作者
全局:
domofeng 发表于 2016-9-14 04:32
感觉象个01背包问题, 写了一下, 不知道对不对, 请指正:

SO上有一样的回答,感觉应该对的,这道题应该是pseudo polynomial的

补充内容 (2016-9-18 10:38):
不对,貌似有点小bug,j的初始化不是直接等于target
回复

使用道具 举报

🔗
sunnyroom 2016-10-12 10:29:24 | 只看该作者
全局:
Josh 发表于 2016-9-9 02:57
第一问是combination sum吧,第二问dp肯定更快,combination sum是O(2^n)

大神,
第一问,算下A, B分别拿走多少钱
是怎么理解的。。。。 他们在抛硬币决定谁拿,怎么知道A,B各拿多少呢。
这是个什么问题
回复

使用道具 举报

🔗
logist 2016-11-26 21:13:01 | 只看该作者
全局:
和Combination Sum IV差不多,只是这里要求每个硬币不能重复,我们可以用个visited来避免重复.
dp+back tracking
回复

使用道具 举报

🔗
kevindx1120 2016-11-27 05:50:34 | 只看该作者
全局:
我想问一下,当我们算出来一共有 k 个不同tie的情况. 那么概率就是 k / 2^n ? 这里 n 是指数组的长度.
回复

使用道具 举报

🔗
JoshISEE 2016-11-28 17:00:52 | 只看该作者
全局:
AB钱相同的概率怎么算啊
回复

使用道具 举报

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

本版积分规则

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