一亩三分地论坛

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

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

Snapchat OA Simple Words,附代码,test cast全过,直接拿去用吧!

[复制链接] |试试Instant~ |关注本帖
adrianhihihihi 发表于 2016-4-16 09:36:43 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 硕士 全职@Snapchat - 网上海投 - 在线笔试 |Passfresh grad应届毕业生

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

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

x
虽然已经入职Uber快一个月了,但是上上周发现邮箱里还有个OA没有做掉,不想浪费,就做了。今天转组面试面的累死人,回家本来想分享下Uber的面经。发现Snapchat的OA居然没有一个善良的人po自己Simple words代码上来的,那就让我来助攻一下吧!不为别的,一亩三分里帮了我太多太多,po答案但求人品,求大米!Test Case 是全过的,用的是Java(C++的大神们求轻喷,PHP才是世界上最好的语言!)/*
-google 1point3acres * Complete the function below.
*/

    static String[] simpleWords(String[] words) {
        List<String> res = new ArrayList<String>();
        HashSet<String> set = new HashSet<String>();
        for (int i = 0; i < words.length; i ++) {. 鍥磋鎴戜滑@1point 3 acres
            set.add(words[i]);
        }
        for (int i = 0; i < words.length; i ++) {
            if (!isCompound(words[i], set)) {
                res.add(words[i]);
            }
        }
        String[] resArray = new String[res.size()];
        resArray = res.toArray(resArray);
        return resArray;. From 1point 3acres bbs
    }
    static boolean isCompound(String word, HashSet<String> set) {
        boolean wordIsInSet = false;
        if (set.contains(word)) {
            set.remove(word);
            wordIsInSet = true;
        }
        int n = word.length();
        if (n == 0) {
            return false;
        }
        boolean[] dp = new boolean[n];
        for (int i = 0; i < dp.length; i ++) {
            dp[i] = false;
        }-google 1point3acres
        for (int i = 0; i < dp.length; i ++) {. 1point3acres.com/bbs
            helper(set, word.substring(0, i + 1), dp);. visit 1point3acres.com for more.
        }
        if (wordIsInSet) {
            set.add(word);
        }. From 1point 3acres bbs
        return dp[n - 1];
    }
    static void helper(HashSet<String> set, String s, boolean[] dp) {
        if (set.contains(s)) {.1point3acres缃
            dp[s.length() - 1] = true;. visit 1point3acres.com for more.
            return;
        } else {
            for (int i = 0; i < s.length(); i ++) {. 鍥磋鎴戜滑@1point 3 acres
                if (dp[i]) {
                    if (set.contains(s.substring(i + 1, s.length()))) {
                        dp[s.length() - 1] = true;
                        return;
                    } 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
                }
            }
        }
    }


评分

1

查看全部评分

liuch912 发表于 2016-6-10 03:24:02 | 显示全部楼层
非常感谢! 楼主是真好人,都拿到offer了还帮助我们!多谢!
回复 支持 反对

使用道具 举报

jyttwc901231 发表于 2016-6-10 04:23:39 | 显示全部楼层
额,请问Lz题目具体要求是什么?。。。
回复 支持 反对

使用道具 举报

mtler 发表于 2016-6-10 21:34:29 | 显示全部楼层


同问 . 1point 3acres 璁哄潧
请问Lz题目具体要求是什么?。。。
回复 支持 反对

使用道具 举报

zhuhai_ZFC 发表于 2016-7-13 12:13:52 | 显示全部楼层
有一个问题一直不太理解:为什么一定要用DP?DP在这里的作用具体是干什么?
回复 支持 反对

使用道具 举报

clydexu 发表于 2016-10-21 07:29:29 | 显示全部楼层
不明白你为什么要做下面的判断,你的集合不是用全部word构建的么?
boolean wordIsInSet = false; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
        if (set.contains(word)) {
            set.remove(word);. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
            wordIsInSet = true;
        }
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-3 10:47

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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