《数据科学面试40+真题讲解》,K神本年度最后一次开课


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 2076|回复: 11
收起左侧

snapchat intern OA(攒RP)

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

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

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

x
RT, 前几天OA,题目还是Valid Sudoku,和lc不同的是,这里输入是一串长度为81的字符串,如果valid输出1,否则输出0
参考代码如下:
    public boolean isValidSudoku(String s) {. 1point 3acres 璁哄潧
        if (s.length() != 81) return false;
        for (int j = 0; j < 9; j++) {
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < 9; i++) {-google 1point3acres
                if (j == 0 && !isValid(s.substring(i * 9 + j, i * 9 + j + 9))) return false;
                if ((i == 1 || i == 4 || i == 7) && (j == 1 || j == 4 || j == 7)) {
                    if (!isValid(block(s, i, j))) return false;. From 1point 3acres bbs
                }
                sb.append(s.charAt(i * 9 + j));
            }
            if (!isValid(sb.toString())) return false;
        }. 1point 3acres 璁哄潧
        return true;
    }

    private String block(String s, int i, int j) {
        StringBuilder sb = new StringBuilder();. visit 1point3acres.com for more.
        for (int m = i - 1; m <= i + 1; m++) {
            for (int n = j - 1; n <= j + 1; n++) {
                sb.append(s.charAt(m * 9 + n));
            }. 1point3acres.com/bbs
        }. more info on 1point3acres.com

        return sb.toString();. 1point 3acres 璁哄潧
    }

    private boolean isValid(String s) {
        HashSet<Character> set = new HashSet<Character>();. visit 1point3acres.com for more.
        for (int i = 0; i < s.length(); i++) {. 鍥磋鎴戜滑@1point 3 acres
            if (s.charAt(i) == '.') continue;
            if (!set.contains(s.charAt(i))) set.add(s.charAt(i));
            else return false;
        }
        return true; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
    }



另外,最近加了一题word abbrevation。挺难的,lz和几个同学讨论了一下,代码如下,应该没有问题:

import java.util.*;
. more info on 1point3acres.com
class TrieNode {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
    public int numOfChildren;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
    public TrieNode[] children = new TrieNode[26];
    public TrieNode() {}
}


public class test {-google 1point3acres
    private HashMap<String, TrieNode> h = new HashMap<String, TrieNode>();.1point3acres缃
.鏈枃鍘熷垱鑷1point3acres璁哄潧
    public void insert(String word, TrieNode root) {
        for(int i = 0; i < word.length(); i++){
            char c = word.charAt(i);
            if(root.children[c - 'a'] == null) {. visit 1point3acres.com for more.
                root.numOfChildren++;
                root.children[c - 'a'] = new TrieNode();
            }
            root = root.children[c - 'a'];
        }. more info on 1point3acres.com
    }. From 1point 3acres bbs

    public String search(String word, TrieNode root) {
        TrieNode tmp = root;
        TrieNode node = tmp;. from: 1point3acres.com/bbs
        StringBuilder sb = new StringBuilder();
. From 1point 3acres bbs
        for (int i = 0; i < word.length(); i++) {
            char c = word.charAt(i);
            if (tmp.numOfChildren > 1) node = tmp;
            if (i == word.length() - 1 && node == root) {
                String compressed = "" + word.charAt(0) + word.length() + word.charAt(word.length() - 1);
                if (compressed.length() >= word.length()) return word;
                else return compressed;
            }
            tmp = tmp.children[c - 'a'];
        }


        for (int i = 0; i < word.length(); i++) {
            char c = word.charAt(i);. Waral 鍗氬鏈夋洿澶氭枃绔,
            if (root != node) {. From 1point 3acres bbs
                sb.append(c);
                root = root.children[c - 'a'];
            }
            else {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
                sb.append(c);
                break;
            }
        }. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
        String compressed = sb.toString() + word.length() + word.charAt(word.length() - 1);

        return compressed.length() >= word.length() ? word : compressed;
    }

    public void abbreviation(String[] strs) {
        for (String word: strs) {. 1point 3acres 璁哄潧
            String compressed = "" + word.charAt(0) + word.length() + word.charAt(word.length() - 1); 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
            if (!h.containsKey(compressed)) h.put(compressed, new TrieNode());. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
            insert(word, h.get(compressed));
        }

        for (String word: strs) {
            String compressed = "" + word.charAt(0) + word.length() + word.charAt(word.length() - 1);
            System.out.print(search(word, h.get(compressed)) + " ");
        }
    }
鏉ユ簮涓浜.涓夊垎鍦拌鍧.

    public static void main(String[] args) {
        String s = "";.鏈枃鍘熷垱鑷1point3acres璁哄潧
        System.out.println(s);. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

        test t = new test();

. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴        String[] arr = new String[]{"like", "god", "internal", "me", "internet", "interval", "intension", "face", "intrusion"};
        t.abbreviation(arr);
        System.out.println();

        arr = new String[]{"interval", "internal", "intaaaal"};
.鏈枃鍘熷垱鑷1point3acres璁哄潧        t.abbreviation(arr);
        System.out.println();

        arr = new String[]{"aaa"};
        t.abbreviation(arr);
. 1point3acres.com/bbs        System.out.println();

    }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
}.鏈枃鍘熷垱鑷1point3acres璁哄潧


为下面的面试攒RP

评分

2

查看全部评分

hitowings 发表于 2016-1-23 15:23:58 | 显示全部楼层
楼主好人~今天刚收到OA  研究一下赶紧做了~
回复 支持 反对

使用道具 举报

zhexuany 发表于 2016-1-24 11:50:00 | 显示全部楼层
hitowings 发表于 2016-1-23 15:23
楼主好人~今天刚收到OA  研究一下赶紧做了~

找人内退的?
回复 支持 反对

使用道具 举报

hitowings 发表于 2016-1-24 12:05:05 | 显示全部楼层

是的~~~~~~
回复 支持 反对

使用道具 举报

zhexuany 发表于 2016-1-24 12:10:25 | 显示全部楼层

. more info on 1point3acres.com 可否私信我内推人邮箱?海投两次,都没有消息。
回复 支持 反对

使用道具 举报

hitowings 发表于 2016-1-24 12:20:24 | 显示全部楼层
zhexuany 发表于 2016-1-24 12:10
可否私信我内推人邮箱?海投两次,都没有消息。

就是版里的那个啊
回复 支持 反对

使用道具 举报

zhexuany 发表于 2016-1-24 12:27:33 | 显示全部楼层
hitowings 发表于 2016-1-24 12:20.鏈枃鍘熷垱鑷1point3acres璁哄潧
就是版里的那个啊
. more info on 1point3acres.com
地里的我发了邮件。没回过我,可否将链接回复下?抱歉,做了伸手党。因为不确定是不是同一个人。
回复 支持 反对

使用道具 举报

hunter829 发表于 2016-1-24 12:41:39 | 显示全部楼层
hitowings 发表于 2016-1-24 12:05. From 1point 3acres bbs
是的~~~~~~
.1point3acres缃
我也找人内推了,到现在一点消息没有,你内推之后有没有收到确认的邮件啊?
回复 支持 反对

使用道具 举报

hitowings 发表于 2016-1-24 13:38:52 | 显示全部楼层
hunter829 发表于 2016-1-24 12:41.鐣欏璁哄潧-涓浜-涓夊垎鍦
我也找人内推了,到现在一点消息没有,你内推之后有没有收到确认的邮件啊?
. from: 1point3acres.com/bbs
没有确认邮件的   先自己海投了一下  然后怕不理 第二题又找人推的  大概过了一个多星期吧  收到OA
回复 支持 反对

使用道具 举报

hitowings 发表于 2016-1-25 12:11:44 | 显示全部楼层
zhexuany 发表于 2016-1-24 12:27
地里的我发了邮件。没回过我,可否将链接回复下?抱歉,做了伸手党。因为不确定是不是同一个人。

http://www.1point3acres.com/bbs/ ... D192%26sortid%3D192
就是介个~
回复 支持 反对

使用道具 举报

royal_916 发表于 2016-2-10 04:00:08 | 显示全部楼层
感谢lz!这人品攒得妥妥的哈哈

补充内容 (2016-2-10 04:20):
.鐣欏璁哄潧-涓浜-涓夊垎鍦而且貌似还有道新题叫simple word lz见过没
回复 支持 反对

使用道具 举报

royal_916 发表于 2016-2-10 11:43:34 | 显示全部楼层
hitowings 发表于 2016-1-25 12:11
http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=161431&extra=page%3D1%26filter%3Dsort ...

oa你做了没  我看地理还有道新题叫simple word貌似
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-11-23 10:01

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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