美国华人网FuninUSA_唐人社区_北美华人论坛:找礼品卡,找折扣,找报价,找工作,找内推,找项目,找股票

 找回密码
 立即注册
  • 能合成任何人声!人的声音轻松被破解:后果太可怕
  • 喵星人蹲墙角自动充电:满电后眼睛超亮
  • 苹果迪拜新店正式开张 来看看它有多“奢华”
  • 加州成外星人降落基地:与当地温暖气候有关
  • 达康书记表情包惊现高校食堂 网友直呼可爱
  • 全球第六大饮料工厂倒塌:可乐灌满整条街
  • 首例人类“换头术”将在1年内进行 国人成首位志愿者
  • 冬眠乌龟苏醒为交配火拼:直接掀翻在地
  • 中国宽体客机开始立项:280座 航程12000公里
  • 二级"国宝"撞墙晕倒 无辜大眼萌哭众人
  • 受政府影响 赴美游客顾虑增加-美国移民指南
  • 专家认为 美国房产前景乐观-美国房产信息
  • 加拿大的教育福利全球领先,福利指数也是全球各国中排名前列-美国生活指南
  • 中国煎饼成纽约爆款-美国生活指南
  • 专家认为 现在美国房产适合投资-美国房产信息
  • 美国国务院公布5月签证公告-美国移民指南
  • 土卫二或存在生命? -美国生活指南
  • 《牛津剑桥暑期课程》海外游学宝典-美国留学指南
  • 奥斯卡创收视新低-美国生活指南
  • 美国纽约皇后区的Rockaway沙滩上座头鲸搁浅海滩-美国生活指南
Logo1-800-PetMeds Free Shipping $49Take $10 Off Your First Order w/code: SAVE10 - 234 x 60
ASICS AmericaPagoda Piercing Banner 234x60Sierra Trading Post
搜索
查看: 3217|回复: 5

内推面经 -请教一个DP题- 唐人社区|北美华人论坛

[复制链接]

19

主题

236

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
QQ
发表于 2016-9-7 22:39:22 | 显示全部楼层 |阅读模式
分享到:
{$content}

唐人社区-北美华人论坛-内推面经版-请教一个DP题



JobHunting
标 题: 请教一个DP题


Given n items with size nums which an integer array and all positive
numbers, no duplicates. An integer target denotes the size of a backpack.
Find the number of possible fill the backpack.
Each item may be chosen unlimited number of times

Example
Given candidate items [2,3,6,7] and target 7,

A solution set is:
[7]
[2, 2, 3]
return 2

class Solution {
public:

int backPackIV(vector& nums, int target) {
vector f(target + 1);
f[0] = 1;
// for (auto num : nums) {
// for (int i = 1; i
新浪微博官方账号】美国省钱快报FunInUSA : 每日滚动更新美国市场折扣资讯微商进货首选资讯渠道。
回复 百度谷歌雅虎搜狗搜搜有道360奇虎

举报

29

主题

99

帖子

161

积分

注册会员

Rank: 2

积分
161
QQ
发表于 2016-9-7 23:11:11 | 显示全部楼层
JobHunting
标  题: 请教一个DP题


Given n items with size nums[i] which an integer array and all positive
numbers, no duplicates. An integer target denotes the size of a backpack.
Find the number of possible fill the backpack.
Each item may be chosen unlimited number of times

Example
Given candidate items [2,3,6,7] and target 7,

A solution set is:
[7]
[2, 2, 3]
return 2

class Solution {
public:

    int backPackIV(vector<int>& nums, int target) {
        vector<int> f(target + 1);
        f[0] = 1;
        // for (auto num : nums) {
        //     for (int i = 1; i <= target; ++i) {
        //         if (num <= i) f[i] += f[i-num];
        //     }
        // }
        // return f[target];

        for (int i = 1; i <= target; ++i) {
            for (auto num : nums) {
                if (num <= i) f[i] += f[i-num];
            }
        }
        return f[target];
    }
};

注释掉的解法可以通过OJ,应该是正确的. 没注释掉的和注释掉的解法的不一样的地方
就是内外循环换了下, 求大神分析下为啥不行啊
--

26

主题

103

帖子

162

积分

注册会员

Rank: 2

积分
162
QQ
发表于 2016-9-8 00:30:19 | 显示全部楼层
JobHunting
标  题: Re: 请教一个DP题


你拿小数据跑两趟就知道了
比如 target = 3,nums = {1, 2}
--

30

主题

98

帖子

172

积分

注册会员

Rank: 2

积分
172
QQ
发表于 2016-9-8 00:31:44 | 显示全部楼层
JobHunting
标  题: Re: 请教一个DP题


I got asked this question by Facebook. The tricky part is permutation can
only be counted once. Here is my solution:

public int getCount(int[] partitions, int target)
{
  int[][] dp = new int[target+1][partitions.length];
  Arrays.fill(dp[0], 1);
  for (int i = 1; i <= target; i++)
  {
    Arrays.fill(dp[i], -1);
  }
  return getCount(partitions, target, 0, dp);
}

public int getCount(int[] partitions, int target, int index, int[][] dp)
{
  if (target < 0)
  {
    return 0;
  }
  if (dp[target][index] != -1)
  {
    return dp[target][index];
  }
  int count = 0;
  for (int i = index; i < partitions.length; i++)
  {
    count += getCount([partitions, target - partitions[i], i, dp);
  }
  dp[target][index] = count;
  return count;
}
--

41

主题

119

帖子

198

积分

注册会员

Rank: 2

积分
198
QQ
发表于 2016-9-8 01:08:33 | 显示全部楼层
JobHunting
标  题: Re: 请教一个DP题


target = 5, nums = {2, 3}, 也就是item1的size = 2, item2的size = 3
结果应该是1,也就是{item1, item2}
而错的解法会返回2,多数了一种情况{item2, item1},就是说错的解法会数重了,错
的解法没有考虑item之间的顺序。而正解的解法在递归时考虑到了item之间的顺序。
--

17

主题

1230

帖子

2418

积分

金牌会员

Rank: 6Rank: 6

积分
2418
QQ
发表于 2016-9-23 17:07:43 | 显示全部楼层
OMG!介是啥东东!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

美国华人网|唐人社区|什么值得买FunInUSA.net发布的内推面经 -请教一个DP题- 唐人社区|北美华人论坛帖子由网友提供或转载于网络,若发布的内推面经 -请教一个DP题- 唐人社区|北美华人论坛侵犯了您的权益,请联系我们.
Sasa.com

Copyright ©2011 FunInUSA.NET All Right Reserved.  Powered by Discuz! X3.0 小黑屋

本站信息均由会员发表,不代表美国华人网FunInUSA|唐人社区的立场,如侵犯了您的权利请发帖投诉  技术支持: 美国华人网FunInUSA|唐人社区

安全联盟认证 安全联盟认证

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