查看: 1204| 回复: 0
跳转到指定楼层
上一主题 下一主题
收起左侧

[高频题] 分享一个自己写拼有趣最近的高频店面题 希望大佬指教

🔗
zxue | 只看该作者 |倒序浏览
全局:

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
最近看到大佬们发了一拼有趣最近的店面题 找相似的images
题目链接
https://www.1point3acres.com/bbs ... 6orderby%3Ddateline

看到之前也有人发说是用union find比较好解。自己用java写了一个试试。希望大佬们能指教

  1.     public static List<List<String>> findSim(Map<String, List<String>> map) {
  2.         Map<String, String> parents = new HashMap<>()
  3.         Map<String, TreeSet<String>> unions = new HashMap<>();
  4.         
  5.         for (String key : map.keySet()) {
  6.             parents.put(key, key)
  7.             for (String v : map.get(key)) {
  8.                 parents.put(v,v)
  9.             }
  10.         }
  11.         
  12.         for (String key : map.keySet()) {
  13.             String p = find(key, parents);
  14.             for (String v : map.get(key)) {
  15.                 parents.put(find(v, parents), p);
  16.             }
  17.         }
  18.    
  19.         for (String key : map.keySet()) {
  20.             String p = find(key, parents);
  21.             if (!unions.containsKey(p)) {
  22.                 unions.put(p, new TreeSet<String>());
  23.             }
  24.             unions.get(p).add(p);
  25.             for (String v : map.get(key)) {
  26.                 unions.get(p).add(v);
  27.             }
  28.         }
  29.         List<List<String>> res = new ArrayList<>();
  30.         for (String key : unions.keySet()) {
  31.             List<String> cur = new ArrayList<>();
  32.             for (String val : unions.get(key)) {
  33.                 cur.add(val);
  34.             }
  35.             res.add(cur);
  36.         }
  37.         return res;
  38.     }
复制代码


评分

参与人数 2大米 +3 收起 理由
Ccqw12 + 1 给你点个赞!
14417335 + 2

查看全部评分


上一篇:需要掌握手写quick sort/quick select吗?
下一篇:Java 的 static 和 static final 有什么好处呢?
您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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