May 2009 - May 2017 论坛八周年-你的足迹,我的骄傲


一亩三分地论坛

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

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

snapchat intern OA(攒RP)

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

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

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

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

    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));. visit 1point3acres.com for more.
            }
        }
.1point3acres缃
        return sb.toString();
    }

    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;. 1point 3acres 璁哄潧
        }
        return true;
    }



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

import java.util.*;.1point3acres缃

class TrieNode { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
    public int numOfChildren;
    public TrieNode[] children = new TrieNode[26];
    public TrieNode() {}
}


public class test {. 1point 3acres 璁哄潧
    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缃
            char c = word.charAt(i);
            if(root.children[c - 'a'] == null) {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
                root.numOfChildren++;
                root.children[c - 'a'] = new TrieNode();
            }
            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);. 鍥磋鎴戜滑@1point 3 acres
                if (compressed.length() >= word.length()) return word;
                else return compressed;. visit 1point3acres.com for more.
            }
            tmp = tmp.children[c - 'a'];
        }
.1point3acres缃

        for (int i = 0; i < word.length(); i++) {. more info on 1point3acres.com
            char c = word.charAt(i);
            if (root != node) {
                sb.append(c);
                root = root.children[c - 'a'];. From 1point 3acres bbs
            }. From 1point 3acres bbs
            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) {.鏈枃鍘熷垱鑷1point3acres璁哄潧
        for (String word: strs) {
            String compressed = "" + word.charAt(0) + word.length() + word.charAt(word.length() - 1);. from: 1point3acres.com/bbs
            if (!h.containsKey(compressed)) h.put(compressed, new TrieNode());
            insert(word, h.get(compressed));
        }
. 1point3acres.com/bbs
        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) {. From 1point 3acres bbs
        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);. 1point 3acres 璁哄潧
        System.out.println();

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

        arr = new String[]{"aaa"};. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
        t.abbreviation(arr);
        System.out.println();

    }
}


为下面的面试攒RP

评分

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 | 显示全部楼层
. from: 1point3acres.com/bbs
可否私信我内推人邮箱?海投两次,都没有消息。
回复 支持 反对

使用道具 举报

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 13:38:52 | 显示全部楼层
hunter829 发表于 2016-1-24 12:41. visit 1point3acres.com for more.
我也找人内推了,到现在一点消息没有,你内推之后有没有收到确认的邮件啊?

没有确认邮件的   先自己海投了一下  然后怕不理 第二题又找人推的  大概过了一个多星期吧  收到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!这人品攒得妥妥的哈哈
. Waral 鍗氬鏈夋洿澶氭枃绔,
补充内容 (2016-2-10 04:20):. 鍥磋鎴戜滑@1point 3 acres
而且貌似还有道新题叫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 ...
. visit 1point3acres.com for more.
oa你做了没  我看地理还有道新题叫simple word貌似
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-5-23 14:11

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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