一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推多家公司面试
游戏初创公司
招聘工程师、Designer和游戏策划
游戏初创公司DreamCraft招聘工程师、UIUX Designer和游戏策划
把贵司招聘信息放这里
查看: 613|回复: 0
收起左侧

2s OA 老两题

[复制链接] |试试Instant~ |关注本帖
Michael2013 发表于 2017-7-16 02:36:21 | 显示全部楼层 |阅读模式

2017(7-9月) 码农类 硕士 全职@TwoSigma - 网上海投 - 在线笔试 |Other在职跳槽

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

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

x
刚面完2s OA,还是老两题。。
class UF {
    int n; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
    int[] arr;
    int count;.鐣欏璁哄潧-涓浜-涓夊垎鍦
    public UF(int n) {
        this.n = n;
        arr = new int[n];
        for (int i = 0; i < n; i++) {. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
            arr = i;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
        }
        count = n;. visit 1point3acres.com for more.
    }

    public int find(int i) {
        if (arr == i) { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
            return i;
        }
        arr = find(arr);
        return arr;
    }
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
    public void union(int i, int j) {. 1point 3acres 璁哄潧
        int r1 = find(i);. 1point3acres.com/bbs
        int r2 = find(j);
        if (r1 == r2) return;
        arr[r1] = r2;
        count--;
    }

    public boolean isConnected(int i, int j) {
        return find(i) == find(j);
    }

    public int getCount() {
        return count;
    }
}
. visit 1point3acres.com for more.
public class FriendCircle {. 鍥磋鎴戜滑@1point 3 acres

    public static int friendCircle(String[] friends) {. From 1point 3acres bbs
        if (friends == null || friends.length == 0) return 0;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
        int n = friends.length;
        UF uf = new UF(n);
        for (int i = 0; i < n; i++) {
            String s = friends;
            for (int j = 0; j < n; j++) {
                char c = s.charAt(j);. more info on 1point3acres.com
                if (i != j && c == 'Y') {
                    uf.union(i, j);
                }
            }.1point3acres缃
        }
        return uf.getCount();
    }

    public static void main(String[] args) {
        String[] test = {
                "YYNN",. visit 1point3acres.com for more.
                "YYYN",
                "NYYN",
                "NNNY"
            };
        System.out.println(friendCircle(test));
    }
}

public class LongestChain {

    public static int longestChain(String[] words) {. From 1point 3acres bbs
        Map<String, Integer> mem = new HashMap<>();
        Set<String> set = new HashSet<>();
        for (String s : words) set.add(s);
        int max = 0;
        for (String s : words) {. visit 1point3acres.com for more.
            int ret = dfs(s, set, mem);. Waral 鍗氬鏈夋洿澶氭枃绔,
            max = Math.max(max, ret);
        }
        return max;.鐣欏璁哄潧-涓浜-涓夊垎鍦
    }

.1point3acres缃    private static int dfs(String s, Set<String> set, Map<String, Integer> mem) {
        if (mem.containsKey(s)) {
            return mem.get(s);. Waral 鍗氬鏈夋洿澶氭枃绔,
        }
        StringBuilder sb = new StringBuilder(s);
        int res = 1;
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
            sb.deleteCharAt(i);
            String tmp = sb.toString();
            if (set.contains(tmp)) {
                int ret = dfs(tmp, set, mem);
                res = Math.max(res, ret + 1);. from: 1point3acres.com/bbs
            }. more info on 1point3acres.com
            sb.insert(i, c);
        }
        mem.put(s, res);
        return res;
    }

    public static void main(String[] args) {
        String[] test = new String[]{"","a", "b", "b","bca","bda","bdca","abdca"};. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
        System.out.println(longestChain(test));
    }
}


评分

1

查看全部评分

本版积分规则

关闭

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

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

custom counter

GMT+8, 2018-2-24 14:21

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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