近期论坛无法登录的解决方案


一亩三分地论坛

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

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

挨骂总OA面经

[复制链接] |试试Instant~ |关注本帖
reddatecookies 发表于 2017-6-13 14:11:59 | 显示全部楼层 |阅读模式

2017(4-6月) 码农类 本科 全职@Amazon - Other - 在线笔试 |Other其他

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

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

x
遇到了一道没有做过的题,用了union find现做出来的:(场景叙述做了处理)
给出一串Pair, 每个pair说明两个人互为朋友,[A,B] 说明A和B是朋友,[C,B] 说明C和B是朋友,{D,E}说明E和D是朋友。
找出人数最大的朋友圈,如果两个朋友圈人数相等,返回有着字典顺序最小朋友的那个圈。

代码:
import java.util.*;

public class FriendCircle {
    public static void main(String[] args) {

        assert true == Arrays.equals(. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
                new String[] {"friend3", "friend4", "friend5"}
                , new FriendFriendCircle().findLargestFriendCircle(new String[][]{
                        {"friend1", "friend2"},
                        {"friend3", "friend4"},. visit 1point3acres.com for more.
                        {"friend4", "friend5"},. 1point3acres.com/bbs
                }));

        assert true == Arrays.equals(
                new String[] {"friend1", "friend2"}
                , new FriendFriendCircle().findLargestFriendCircle(new String[][]{. more info on 1point3acres.com
                        {"friend1", "friend2"},
                        {"friend3", "friend4"},
                }));

. from: 1point3acres.com/bbs
    }

    private String[] findLargestFriendCircle(String[][] arr1) {

        Map<String, String> unionKeys = new HashMap<>();. from: 1point3acres.com/bbs
        for(String []pair:arr1) {
            unionKeys.put(pair[0],pair[0]);
            unionKeys.put(pair[1],pair[1]);
        }
.鏈枃鍘熷垱鑷1point3acres璁哄潧

        for(String[] pair: arr1) {
            String unionKey = null, other = null;
            String key0 = unionKeys.get(pair[0]), key1 = unionKeys.get(pair[1]);
            if(key0.compareTo(key1) < 0) {
                unionKey = key0;
                other = pair[1];
            } else {
                unionKey = key1;
                other = pair[0];
            }
            unionKeys.put(other, unionKey);

        }
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
        Map<String, Integer> counts = new HashMap<>();
        for(Map.Entry<String, String> ent : unionKeys.entrySet()) {
            counts.put(ent.getValue(), counts.getOrDefault(ent.getValue(), 0) + 1);
        }
-google 1point3acres
        int max = -1;. 1point 3acres 璁哄潧
        String maxKey = null;
        for(Map.Entry<String, Integer> ent : counts.entrySet()) {
            if(ent.getValue() > max || (ent.getValue() == max && ent.getKey().compareTo(maxKey) < 0)) {
                max = ent.getValue();
                maxKey = ent.getKey();. from: 1point3acres.com/bbs
            }
        }

        String[] res = new String[max];.鏈枃鍘熷垱鑷1point3acres璁哄潧
        for(Map.Entry<String, String> ent : unionKeys.entrySet()) {.1point3acres缃
            if(ent.getValue().equals(maxKey)) {
                res[--max] = ent.getKey();
            }. Waral 鍗氬鏈夋洿澶氭枃绔,
        }. Waral 鍗氬鏈夋洿澶氭枃绔,
. 1point 3acres 璁哄潧
        Arrays.sort(res);
        System.out.println(Arrays.toString(res));

        return res;
    }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷


}








补充内容 (2017-6-13 14:14):
还有请问:A家OA没过,有无冷冻期,能不能继续投?谢谢

评分

1

查看全部评分

cawe 发表于 2017-6-15 06:10:35 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
oa没过似乎没有冷冻期
回复 支持 1 反对 0

使用道具 举报

 楼主| reddatecookies 发表于 2017-6-16 13:33:04 | 显示全部楼层
关注一亩三分地微博:
Warald
cawe 发表于 2017-6-15 06:10
oa没过似乎没有冷冻期

感谢经验!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-6-27 01:42

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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