一亩三分地论坛

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

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

snapchat intern OA(攒RP)

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

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

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

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++) {.1point3acres缃
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < 9; i++) {
                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;
                }
                sb.append(s.charAt(i * 9 + j));
            }
            if (!isValid(sb.toString())) return false;
        }
        return true;-google 1point3acres
    } 鏉ユ簮涓浜.涓夊垎鍦拌鍧.

    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++) {. 鍥磋鎴戜滑@1point 3 acres
                sb.append(s.charAt(m * 9 + n));
            }
        }

        return sb.toString();. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
    }
.1point3acres缃
    private boolean isValid(String s) {
        HashSet<Character> set = new HashSet<Character>();
        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;
    }. Waral 鍗氬鏈夋洿澶氭枃绔,



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

import java.util.*;.鐣欏璁哄潧-涓浜-涓夊垎鍦

class TrieNode { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
    public int numOfChildren;. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
    public TrieNode[] children = new TrieNode[26];
    public TrieNode() {}-google 1point3acres
}


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++){
            char c = word.charAt(i);
            if(root.children[c - 'a'] == null) {
                root.numOfChildren++;
                root.children[c - 'a'] = new TrieNode();
            }. more info on 1point3acres.com
            root = root.children[c - 'a'];
        }
    }

    public String search(String word, TrieNode root) {
        TrieNode tmp = root;
        TrieNode node = tmp;. 1point 3acres 璁哄潧
        StringBuilder sb = new StringBuilder();. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

        for (int i = 0; i < word.length(); i++) {
            char c = word.charAt(i);
. 鍥磋鎴戜滑@1point 3 acres            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;-google 1point3acres
                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 {. more info on 1point3acres.com
                sb.append(c);
                break;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
            }
        }
        String compressed = sb.toString() + word.length() + word.charAt(word.length() - 1);

        return compressed.length() >= word.length() ? word : compressed;. 鍥磋鎴戜滑@1point 3 acres
    }. from: 1point3acres.com/bbs

    public void abbreviation(String[] strs) {
        for (String word: strs) {
            String compressed = "" + word.charAt(0) + word.length() + word.charAt(word.length() - 1);. From 1point 3acres bbs
            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);. 1point 3acres 璁哄潧
            System.out.print(search(word, h.get(compressed)) + " ");
        }.1point3acres缃
    }
-google 1point3acres
-google 1point3acres
    public static void main(String[] args) {
        String s = "";
        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"};
        t.abbreviation(arr);
        System.out.println();

        arr = new String[]{"aaa"};. from: 1point3acres.com/bbs
        t.abbreviation(arr);.鏈枃鍘熷垱鑷1point3acres璁哄潧
        System.out.println();

    }
}
. 鍥磋鎴戜滑@1point 3 acres

为下面的面试攒RP. 鍥磋鎴戜滑@1point 3 acres

评分

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 | 显示全部楼层

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

使用道具 举报

hitowings 发表于 2016-1-24 12:20:24 | 显示全部楼层
zhexuany 发表于 2016-1-24 12:10. Waral 鍗氬鏈夋洿澶氭枃绔,
可否私信我内推人邮箱?海投两次,都没有消息。

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

使用道具 举报

zhexuany 发表于 2016-1-24 12:27:33 | 显示全部楼层
hitowings 发表于 2016-1-24 12:20
就是版里的那个啊

地里的我发了邮件。没回过我,可否将链接回复下?抱歉,做了伸手党。因为不确定是不是同一个人。
回复 支持 反对

使用道具 举报

hunter829 发表于 2016-1-24 12:41:39 | 显示全部楼层
. Waral 鍗氬鏈夋洿澶氭枃绔,
我也找人内推了,到现在一点消息没有,你内推之后有没有收到确认的邮件啊?
回复 支持 反对

使用道具 举报

hitowings 发表于 2016-1-24 13:38:52 | 显示全部楼层
hunter829 发表于 2016-1-24 12:41
我也找人内推了,到现在一点消息没有,你内推之后有没有收到确认的邮件啊?
. 1point 3acres 璁哄潧
没有确认邮件的   先自己海投了一下  然后怕不理 第二题又找人推的  大概过了一个多星期吧  收到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貌似
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-8 01:43

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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