10月28,K神开课讲数据科学,你来吗?


一亩三分地论坛

 找回密码
 获取更多干活,快来注册
Babeltime游戏工作室招工程师、美术和策划
Tubi TV招安卓、前端和机器学习工程师
把贵司招聘信息放这里
查看: 2047|回复: 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) {. from: 1point3acres.com/bbs
        if (s.length() != 81) return false;
        for (int j = 0; j < 9; j++) {
            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;
    }.鏈枃鍘熷垱鑷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>();
        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;
    }



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

import java.util.*;

class TrieNode {
    public int numOfChildren;
    public TrieNode[] children = new TrieNode[26];
    public TrieNode() {}
} 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

public class test {.1point3acres缃
    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) {. from: 1point3acres.com/bbs
                root.numOfChildren++;
                root.children[c - 'a'] = new TrieNode();
            }
            root = root.children[c - 'a'];
        }
    }. from: 1point3acres.com/bbs

    public String search(String word, TrieNode root) {
        TrieNode tmp = root;
        TrieNode node = tmp;
        StringBuilder sb = new StringBuilder();

        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);
                break;
            }. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
        }
        String compressed = sb.toString() + word.length() + word.charAt(word.length() - 1);
. Waral 鍗氬鏈夋洿澶氭枃绔,
        return compressed.length() >= word.length() ? word : compressed;
    }

    public void abbreviation(String[] strs) {
        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());
            insert(word, h.get(compressed));
        }
.鏈枃鍘熷垱鑷1point3acres璁哄潧
        for (String word: strs) {
            String compressed = "" + word.charAt(0) + word.length() + word.charAt(word.length() - 1);
            System.out.print(search(word, h.get(compressed)) + " ");
        }. Waral 鍗氬鏈夋洿澶氭枃绔,
    }.1point3acres缃
. Waral 鍗氬鏈夋洿澶氭枃绔,

    public static void main(String[] args) {
        String s = "";
        System.out.println(s);.1point3acres缃
-google 1point3acres
        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"};. visit 1point3acres.com for more.
        t.abbreviation(arr);
        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 | 显示全部楼层
hitowings 发表于 2016-1-24 12:05-google 1point3acres
是的~~~~~~

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

使用道具 举报

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
我也找人内推了,到现在一点消息没有,你内推之后有没有收到确认的邮件啊?

没有确认邮件的   先自己海投了一下  然后怕不理 第二题又找人推的  大概过了一个多星期吧  收到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-9-20 10:24

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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