一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 749|回复: 2
收起左侧

Snapchat OA 附解答

[复制链接] |试试Instant~ |关注本帖
bearcat001 发表于 2016-9-30 01:55:44 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Snapchat - 内推 - 在线笔试 |Passfresh grad应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
given an array of words. output array of simple words. compound word are made of multiple simple words. chat ever snapchat snap salesperson per person sales son whatsoever what so
其中simple word是chat, ever, snap, per, sales, son, what, so


附pass解答
  1. static String[] simpleWords(String[] words) {
  2.         if (words == null || words.length == 0) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  3.             return words;. from: 1point3acres.com/bbs
  4.         }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

  5.         List<String> list = new ArrayList<>();
  6.         Set<String> dict = new HashSet<>();

  7.         for (String s : words) {
  8.             dict.add(s);. From 1point 3acres bbs
  9.         }. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

  10.         for (int i = 0; i < words.length; i++) {
  11.             if (isSimple(words[i], dict)) {
  12.                 list.add(words[i]);
  13.             }. 1point 3acres 璁哄潧
  14.         }

  15.         String[] result = new String[list.size()];
  16.         for (int i = 0; i < list.size(); i++) {
  17.             result[i] = list.get(i);
  18.         }

  19.         return result;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  20.     }. 鍥磋鎴戜滑@1point 3 acres

  21.     static boolean isSimple(String s, Set<String> words) {
  22.         if (s.length() == 0) {
  23.             return true;
  24.         }
  25.         boolean flag = false;. from: 1point3acres.com/bbs
  26.         if (words.contains(s)) {
  27.             flag = !flag;
  28.             words.remove(s);
  29.         }

  30.         boolean[] isCut = new boolean[s.length()];
  31.         for (int i = 0; i < s.length(); i++) {
  32.             search(s.substring(0, i + 1), isCut, words);
  33.         }
  34.         if (flag == true) {
  35.             words.add(s);
  36.         }

  37.         return isCut[s.length() - 1] == false;
  38.     }. Waral 鍗氬鏈夋洿澶氭枃绔,

  39.     static void search(String s, boolean[] isCut, Set<String> words) {. Waral 鍗氬鏈夋洿澶氭枃绔,
  40.         int length = s.length();
  41.         if (!words.contains(s)) {
  42.             for (int i = 0; i < length; i++) {. visit 1point3acres.com for more.
  43.                 if (isCut[i] == true && words.contains(s.substring(i + 1, length))) {
  44.                     isCut[length - 1] = true;
  45.                     return; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  46.                 }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  47.             }
  48.         } else {. from: 1point3acres.com/bbs
  49.             isCut[length - 1] = true;.1point3acres缃
  50.         }
  51.     }
复制代码

评分

1

查看全部评分

幻灭天神 发表于 2016-11-24 03:40:45 | 显示全部楼层
没明白第32-35行:-google 1point3acres
        if (words.contains(s)) {. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
            flag = !flag;. visit 1point3acres.com for more.
            words.remove(s);
        }
为什么要check words是否包含s以及flag的作用。。s本来就是words中的呀。。?
回复 支持 反对

使用道具 举报

rcholic 发表于 2016-11-24 03:49:10 | 显示全部楼层
学习一下,谢谢楼主
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-8 12:16

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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