传说中的谷歌招聘委员会成员之一,从幕后走出来,教你学系统设计!


一亩三分地论坛

 找回密码
 获取更多干活,快来注册
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
查看: 1661|回复: 2
收起左侧

Snapchat OA 附解答

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

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

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

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

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
. Waral 鍗氬鏈夋洿澶氭枃绔,

附pass解答
  1. static String[] simpleWords(String[] words) {
  2.         if (words == null || words.length == 0) {
  3.             return words;
  4.         }. From 1point 3acres bbs

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

  7.         for (String s : words) {
  8.             dict.add(s);
  9.         }

  10.         for (int i = 0; i < words.length; i++) {
  11.             if (isSimple(words[i], dict)) {
  12.                 list.add(words[i]);. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  13.             }. 1point3acres.com/bbs
  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. . 鍥磋鎴戜滑@1point 3 acres
  20.         return result;. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  21.     }

  22.     static boolean isSimple(String s, Set<String> words) {
  23.         if (s.length() == 0) {
  24.             return true;
  25.         }
  26.         boolean flag = false;. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  27.         if (words.contains(s)) {
    . Waral 鍗氬鏈夋洿澶氭枃绔,
  28.             flag = !flag;
  29.             words.remove(s);
  30.         }

  31.         boolean[] isCut = new boolean[s.length()];. Waral 鍗氬鏈夋洿澶氭枃绔,
  32.         for (int i = 0; i < s.length(); i++) {
  33.             search(s.substring(0, i + 1), isCut, words);
  34.         }
  35.         if (flag == true) {
  36.             words.add(s);
  37.         }. From 1point 3acres bbs

  38.         return isCut[s.length() - 1] == false;
  39.     }

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

评分

1

查看全部评分

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

使用道具 举报

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

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-9-23 23:04

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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