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

IXL电面已跪

🔗
lyin1 2017-9-29 05:22:43 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
lyin1 2017-9-29 05:36:20 | 只看该作者
全局:
zzzhu 发表于 2017-9-29 05:12
额这我也不知道了。。。

domain reduction具体怎么用丫
回复

使用道具 举报

🔗
 楼主| zzzhu 2017-9-30 05:37:21 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
Ryo 2017-9-30 22:29:46 | 只看该作者
全局:
看着可以用动态规划,其实是背包问题的变种
回复

使用道具 举报

🔗
dahuo2013 2017-10-1 11:10:30 | 只看该作者
全局:
用HashMap构建target, 然后用backtracking计算level. 取最小的level? 感觉不是0/1背包问题 因为sticker可以拆开
回复

使用道具 举报

🔗
byeu 2017-10-1 18:59:44 | 只看该作者
全局:
楼主你好,例子是要用English 和 story 两个词build嘛?
回复

使用道具 举报

🔗
 楼主| zzzhu 2017-10-2 01:26:49 | 只看该作者
全局:
byeu 发表于 2017-10-1 02:59
楼主你好,例子是要用English 和 story 两个词build嘛?

是这个意思
回复

使用道具 举报

🔗
 楼主| zzzhu 2017-10-2 01:27:16 | 只看该作者
全局:
dahuo2013 发表于 2017-9-30 19:10
用HashMap构建target, 然后用backtracking计算level. 取最小的level? 感觉不是0/1背包问题 因为sticker可以 ...

我也没啥好的方法,就是backtracking一个一个试
回复

使用道具 举报

🔗
westcoastboy 2017-10-3 00:10:40 | 只看该作者
全局:
尝试写了一下代码,若有问题求指正。

  1.   public static void main(String[] args) {
  2.         String[] words = new String[] {"math","english","story"};
  3.         String target = "history";
  4.         min(words,target);
  5.         System.out.println(result);
  6.     }

  7.     static int result = Integer.MAX_VALUE;

  8.     static void min (String[] words, String target) {
  9.         search(words, target, 0, new HashSet<String>());
  10.     }

  11.     static void search(String[] words, String target, int start, Set<String> source) {

  12.         if (start == words.length) {
  13.             return;
  14.         }

  15.         for (int i = start; i < words.length; i++) {
  16.             source.add(words[i]);
  17.             if (valid(target,source)) {
  18.                 result = Math.min(result, source.size());
  19.                 return;
  20.             }
  21.             search(words,target,i+1,source);
  22.             source.remove(words[i]);
  23.         }

  24.     }

  25.     static boolean valid(String target, Set<String> res) {
  26.         int[] map = new int[256];
  27.         for (String s : res) {
  28.             for (char c : s.toCharArray()) {
  29.                 map[c] += 1;
  30.             }
  31.         }
  32.         for (char c : target.toCharArray()) {
  33.             if(--map[c] < 0) {
  34.                 return false;
  35.             }
  36.         }
  37.         return true;
  38.     }
复制代码
回复

使用道具 举报

🔗
westcoastboy 2017-10-3 00:23:56 | 只看该作者
全局:
之前的代码有Bug.
这个代码应该可以了
  1. static int result = Integer.MAX_VALUE;

  2.     static void minSourceWords(String[] words, String target) {
  3.         search(words, target, 0, new ArrayList<>());
  4.     }

  5.     static void search(String[] words, String target, int start, List<String> source) {

  6.         if (valid(target,source)) {
  7.             result = Math.min(result, source.size());
  8.             return;
  9.         }

  10.         if (start == words.length) {
  11.             return;
  12.         }

  13.         for (int i = start; i < words.length; i++) {
  14.             source.add(words[i]);
  15.             search(words,target,i+1,source);
  16.             source.remove(source.size()-1);
  17.         }

  18.     }

  19.     static boolean valid(String target, List<String> source) {
  20.         int[] map = new int[256];
  21.         for (String s : source) {
  22.             for (char c : s.toCharArray()) {
  23.                 map[c] += 1;
  24.             }
  25.         }
  26.         for (char c : target.toCharArray()) {
  27.             if(--map[c] < 0) {
  28.                 return false;
  29.             }
  30.         }
  31.         return true;
  32.     }
复制代码

评分

参与人数 1大米 +10 收起 理由
tobebeyond + 10 感谢分享!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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