一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推多家公司面试
Airbnb 数据科学职位
in analytics and inference
游戏初创公司
招聘工程师、Designer和游戏策划
游戏初创公司DreamCraft招聘工程师、UIUX Designer和游戏策划
电商初创公司Good Days
招聘SDE/UI/TPM实习生
把贵司招聘信息放这里
查看: 1834|回复: 2
收起左侧

Snapchat OA 附解答

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

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

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

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

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;
  4.         }

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

  7.         for (String s : words) {
  8.             dict.add(s);
  9.         }
  10. . From 1point 3acres bbs
  11.         for (int i = 0; i < words.length; i++) {. 1point3acres.com/bbs
  12.             if (isSimple(words[i], dict)) {
  13.                 list.add(words[i]);
  14.             }
  15.         }
  16. .鏈枃鍘熷垱鑷1point3acres璁哄潧
  17.         String[] result = new String[list.size()];
  18.         for (int i = 0; i < list.size(); i++) {
  19.             result[i] = list.get(i);
  20.         }

  21.         return result;
  22.     }

  23.     static boolean isSimple(String s, Set<String> words) {
  24.         if (s.length() == 0) {
  25.             return true;
  26.         }
  27.         boolean flag = false;. 1point 3acres 璁哄潧
  28.         if (words.contains(s)) {
  29.             flag = !flag;
  30.             words.remove(s);
  31.         }
  32. . From 1point 3acres bbs
  33.         boolean[] isCut = new boolean[s.length()];.1point3acres缃
  34.         for (int i = 0; i < s.length(); i++) {
  35.             search(s.substring(0, i + 1), isCut, words);
  36.         }. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  37.         if (flag == true) {
  38.             words.add(s);
  39.         }

  40.         return isCut[s.length() - 1] == false;
  41.     }

  42.     static void search(String s, boolean[] isCut, Set<String> words) {
  43.         int length = s.length();
  44.         if (!words.contains(s)) {. From 1point 3acres bbs
  45.             for (int i = 0; i < length; i++) {
  46.                 if (isCut[i] == true && words.contains(s.substring(i + 1, length))) {
  47.                     isCut[length - 1] = true;
  48.                     return;
  49.                 }
  50.             }
  51.         } else {
  52.             isCut[length - 1] = true;
  53.         }
  54.     }
复制代码

评分

1

查看全部评分

头像被屏蔽
幻灭天神 发表于 2016-11-24 03:40:45 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

使用道具 举报

本版积分规则

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-1-18 10:26

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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