推荐:数据科学课程和书籍清单以及培训讲座


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 2026|回复: 11
收起左侧

snapchat intern OA(攒RP)

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

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

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

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

    private String block(String s, int i, int j) {
        StringBuilder sb = new StringBuilder();
        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));
            }
        }

        return sb.toString();
    }

    private boolean isValid(String s) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
        HashSet<Character> set = new HashSet<Character>();. visit 1point3acres.com for more.
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == '.') continue;.鐣欏璁哄潧-涓浜-涓夊垎鍦
            if (!set.contains(s.charAt(i))) set.add(s.charAt(i));
            else return false;
        }
        return true;
    }.鏈枃鍘熷垱鑷1point3acres璁哄潧



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

import java.util.*;

class TrieNode {
    public int numOfChildren;
    public TrieNode[] children = new TrieNode[26];
    public TrieNode() {}
}. Waral 鍗氬鏈夋洿澶氭枃绔,
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

public class test {
    private HashMap<String, TrieNode> h = new HashMap<String, TrieNode>();

    public void insert(String word, TrieNode root) {
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴        for(int i = 0; i < word.length(); i++){. 1point3acres.com/bbs
            char c = word.charAt(i);
            if(root.children[c - 'a'] == null) {
                root.numOfChildren++;
                root.children[c - 'a'] = new TrieNode();-google 1point3acres
            }
            root = root.children[c - 'a'];
        }
    }

    public String search(String word, TrieNode root) {
        TrieNode tmp = root;
        TrieNode node = tmp;
        StringBuilder sb = new StringBuilder();
. Waral 鍗氬鏈夋洿澶氭枃绔,
        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);
            if (root != node) {
                sb.append(c);
                root = root.children[c - 'a'];
            }
            else {
                sb.append(c);.鏈枃鍘熷垱鑷1point3acres璁哄潧
                break;. more info on 1point3acres.com
            }
        }
        String compressed = sb.toString() + word.length() + word.charAt(word.length() - 1);

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

    public void abbreviation(String[] strs) {. visit 1point3acres.com for more.
        for (String word: strs) {
            String compressed = "" + word.charAt(0) + word.length() + word.charAt(word.length() - 1);
            if (!h.containsKey(compressed)) h.put(compressed, new TrieNode());. more info on 1point3acres.com
            insert(word, h.get(compressed));
        }. From 1point 3acres bbs

        for (String word: strs) {.1point3acres缃
            String compressed = "" + word.charAt(0) + word.length() + word.charAt(word.length() - 1);
. Waral 鍗氬鏈夋洿澶氭枃绔,            System.out.print(search(word, h.get(compressed)) + " ");. more info on 1point3acres.com
        }
    }


. from: 1point3acres.com/bbs     public static void main(String[] args) {
.1point3acres缃        String s = "";
        System.out.println(s);
.鏈枃鍘熷垱鑷1point3acres璁哄潧
        test t = new test();

        String[] arr = new String[]{"like", "god", "internal", "me", "internet", "interval", "intension", "face", "intrusion"};. more info on 1point3acres.com
        t.abbreviation(arr);
        System.out.println();-google 1point3acres

        arr = new String[]{"interval", "internal", "intaaaal"};
        t.abbreviation(arr);
        System.out.println();

        arr = new String[]{"aaa"};
        t.abbreviation(arr);
        System.out.println();

    }
}

. Waral 鍗氬鏈夋洿澶氭枃绔,
为下面的面试攒RP
. Waral 鍗氬鏈夋洿澶氭枃绔,

评分

2

查看全部评分

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

使用道具 举报

zhexuany 发表于 2016-1-24 11:50:00 | 显示全部楼层
关注一亩三分地微博:
Warald
hitowings 发表于 2016-1-23 15:23
楼主好人~今天刚收到OA  研究一下赶紧做了~
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
找人内退的?
回复 支持 反对

使用道具 举报

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

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

使用道具 举报

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

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

使用道具 举报

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
就是版里的那个啊
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
地里的我发了邮件。没回过我,可否将链接回复下?抱歉,做了伸手党。因为不确定是不是同一个人。
回复 支持 反对

使用道具 举报

hunter829 发表于 2016-1-24 12:41:39 | 显示全部楼层
hitowings 发表于 2016-1-24 12:05.1point3acres缃
是的~~~~~~

我也找人内推了,到现在一点消息没有,你内推之后有没有收到确认的邮件啊?
回复 支持 反对

使用道具 举报

hitowings 发表于 2016-1-24 13:38:52 | 显示全部楼层
hunter829 发表于 2016-1-24 12:41
我也找人内推了,到现在一点消息没有,你内推之后有没有收到确认的邮件啊?

没有确认邮件的   先自己海投了一下  然后怕不理 第二题又找人推的  大概过了一个多星期吧  收到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!这人品攒得妥妥的哈哈
. 1point 3acres 璁哄潧
补充内容 (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-7-25 05:04

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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