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

微软苏州4面挂经

🔗
donnice 2020-6-2 11:00:23 | 只看该作者
全局:
mazrim-- 发表于 2020-6-2 09:32. 1point 3 acres
关键是有负数,怎么背包?

知道最小的负数是多少就行,假设最小负数是x,则


  1. for(int i = 0; i < arr.length; i++)
  2.     for(int j = x; j <= sum; j++)
复制代码
回复

使用道具 举报

全局:
子轩不语 发表于 2020/06/01 20:21:53
combination sum ii? (答案里也有用dfs的)
是原题,但是combination sum ii求方案,这个问的只是可行性

补充内容 (2020-6-1 20:46):
啊,仔细一想就是combination sum ii啊,只写出来DFS也不至于是个挂点啊,不懂面试官是到了最后一轮应付一下还是有意刁难楼主,还是国内面试官默认candidates是刷过题见过原题的?
回复

使用道具 举报

🔗
amgfan 2020-6-2 14:06:05 | 只看该作者
全局:
把所有数字和 target 加上 min(nums) 变成>=0-baidu 1point3acres
. From 1point 3acres bbs
然后用 dp ?
.--
dp[i][s]   代表 前 i 个数字 组成和为 s 的组合数量

dp[i][s]  = dp[i-1][s] + dp[i][s-n[i]]
.1point3acres
感觉这样时空复杂度也不一定比 dfs 小吧
回复

使用道具 举报

🔗
mazrim-- 2020-6-2 22:12:21 | 只看该作者
全局:
本帖最后由 mazrim-- 于 2020-6-2 22:24 编辑
matthew_z 发表于 2020-6-2 14:06
把所有数字和 target 加上 min(nums) 变成>=0

然后用 dp ?

你这是多重背包问题解法吧,如果只能使用一次不知解法对不对
public static int sum(int[] nums, int target) {
        int[] dp = new int[target + 1];
        dp[0] = 1;
        for (int i = 0; i < nums.length; i++) {
            for (int j = dp.length - 1; j >= nums[i]; j--) {-baidu 1point3acres
                dp[j] += dp[j - nums[i]]; ..
            }
        }
        return dp[target];
    }

回复

使用道具 举报

🔗
amgfan 2020-6-2 23:03:45 | 只看该作者
全局:
本帖最后由 matthew_z 于 2020-6-2 23:10 编辑 . 1point 3 acres
mazrim-- 发表于 2020-6-2 22:12.google  и
你这是多重背包问题解法吧,如果只能使用一次不知解法对不对
public static int sum(int[] nums, int ta ...
. Waral dи,
嗯是的  我递推式写错了 应该
  1. dp[i][s]  = dp[i-1][s] + dp[i-1][s-n]  
复制代码
所以不用 i 的
.1point3acres
回复

使用道具 举报

全局:
请问面的哪个组,有英文面试吗
回复

使用道具 举报

🔗
limingli1991 2020-6-3 02:19:00 | 只看该作者
全局:
请问你人是在国内吗?
回复

使用道具 举报

全局:
baihou 发表于 2020/06/03 00:29:15
请问面的哪个组,有英文面试吗
有自我介绍,和简单问答
回复

使用道具 举报

🔗
haithink 2020-8-7 18:09:51 | 只看该作者
全局:
题偏难啊,要达到最优解的话
回复

使用道具 举报

🔗
hjy 2020-9-1 07:43:33 | 只看该作者
全局:
最后一轮的题目如果全是非负数的话就是完全背包问题吧?负数的话的确写dp数组的时候会有点麻烦感觉。。
回复

使用道具 举报

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

本版积分规则

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