题目:

分析:

并查集。
我用python写的,
1.创建一个二维列表,然后每个列表中的元素都只有一个,为每个名字。
2.查synonyms,匹配的名字对应的列表合并。
3.排序,求和。

竟然超时了,这道题拖了10天,答案也不好,放弃了。

代码:

def trulyMostPopular(self, names: List[str], synonyms: List[str]) -> List[str]:# 首先为每一个名字创建一个列表m = {}l2 = [[]for i in range(len(names))]for i in range(len(names)):s = names[i].split('(')# 添加的是单个的元素names.append(s[0])m[s[0]] = int(s[1][1:len(s[1])])for i in range(len(synonyms)):s = synonyms[i].split(',')s1 = s[0][1:len(s[0])]s2 = s[1][0:len(s[0])-1]n1 = -1n2 = -1for x in range(len(l2)):if s1 in l2[x]:n1=xbreakfor x in range(len(l2)):if s2 in l2[x]:n2=xbreakif n1 == n2 or n1 == -1 or n2 == -1:continuel2[n1].extend(l2[n2])del l2[n2]ll = []for i in range(len(l2)):s = l2[i][0]all1 = 0for j in range(len(l2[i])):all1 = all1+m[l2[i][j]]if s < l2[i][j]:s = l2[i][j]s2 = s+'('+str(all1)+')'ll.append(s2)return ll

leetcode:面试题 17.07. 婴儿名字(并查集,代码超时了)相关推荐

  1. LeetCode 面试题 17.07婴儿名字 (并查集+字符串处理+字典序)

    婴儿名字 1600ms,吐了 ,代码看似很长.但主要花在了字符串处理上. string s; s.substring(int idx,int len); //去除子串 stoi(string s); ...

  2. 面试题.17.07.婴儿名字--并查集

    LeetCode 面试题 17.07.婴儿名字 每年,政府都会公布一万个最常见的婴儿名字和它们出现的频率,也就是同名婴儿的数量.有些名字有多种拼法,例如,John 和 Jon 本质上是相同的名字,但被 ...

  3. [LeetCode][C++]面试题 17.07. 婴儿名字/并查集

    面试题 17.07. 婴儿名字 每年,政府都会公布一万个最常见的婴儿名字和它们出现的频率,也就是同名婴儿的数量.有些名字有多种拼法,例如,John 和 Jon 本质上是相同的名字,但被当成了两个名字公 ...

  4. 面试题 17.07. 婴儿名字(并查集模板)

    难度中等33 每年,政府都会公布一万个最常见的婴儿名字和它们出现的频率,也就是同名婴儿的数量.有些名字有多种拼法,例如,John 和 Jon 本质上是相同的名字,但被当成了两个名字公布出来.给定两个列 ...

  5. leetcode面试题 17.07. 婴儿名字(并查集)

    每年,政府都会公布一万个最常见的婴儿名字和它们出现的频率,也就是同名婴儿的数量.有些名字有多种拼法,例如,John 和 Jon 本质上是相同的名字,但被当成了两个名字公布出来.给定两个列表,一个是名字 ...

  6. LeetCode 面试题 17.07. 婴儿名字

    难度:中等. 标签:并查集,深度优先搜索,广度优先搜索. 这个题思路不难想到,就是很复杂. 需要注意的两个点: 用例中的names可能出现重复的名字,比如下面的用例,出现了两个Jon,第二个Jon的值 ...

  7. 并查集之面试题 17.07. 婴儿名字

    并查集之面试题 17.07. 婴儿名字 前言 一, 面试题 17.07. 婴儿名字 二,解题思路 1, a和b是朋友, b和c是朋友,那a和c也是朋友.这就是典型并查集类型 2, 字典序 3, 三, ...

  8. 面试题 17.07. 婴儿名字 ( 字符标志 并查集 )

    面试题 17.07. 婴儿名字 字符串并查集: 721. 账户合并 ( 并查集 ) 解题思路: 首先通过哈希表建立并查集,哈希表的键值对都是字符串,然后将一个相连的并查集合并: 利用一个哈希表进行计数 ...

  9. 面试题 17.07. 婴儿名字

    面试题 17.07. 婴儿名字 每年,政府都会公布一万个最常见的婴儿名字和它们出现的频率,也就是同名婴儿的数量.有些名字有多种拼法,例如,John 和 Jon 本质上是相同的名字,但被当成了两个名字公 ...

  10. 程序员面试金典 - 面试题 17.07. 婴儿名字(并查集)

    1. 题目 每年,政府都会公布一万个最常见的婴儿名字和它们出现的频率,也就是同名婴儿的数量. 有些名字有多种拼法,例如,John 和 Jon 本质上是相同的名字,但被当成了两个名字公布出来. 给定两个 ...

最新文章

  1. Vim Vundle 插件管理器
  2. ftl保存成html中文是乱码,解决freemarker生成静态页面时乱码问题
  3. Ubuntu12下安装redis(多图版)+ Jedis连接Redis
  4. html禁用自动完成,html – 如何禁用所有主流浏览器的自动完成功能
  5. java动态代理技术
  6. 微软公司等数据结构+算法面试100题2010版全部出炉
  7. 是什么门的缩写_干货分享:汽车排气系统部件有什么?出故障都有什么现象?...
  8. 信号问题可根除,苹果新款 iPhone 将搭载高通基带?
  9. java学习,不定期更新~
  10. bzoj1396 识别子串
  11. 评委对计算机知识竞赛的提问,知识竞赛抢答软件-评委评分知识竞赛答题软件...
  12. Spring 中 AOP 的实现原理——动态代理
  13. 三峡大学 计算机学院 刘洋,三峡大学科技学院2016年预科内升本专业分流结果公示...
  14. An Efficient Joint Training Framework for Robust Small-Footprint Keyword Spotting(2020)
  15. 零基础学HTML5的学习路线完整版
  16. 微信小程序--实现番茄钟功能
  17. kali使用笔记本自带无线网卡_kali学习笔记之——wi read():Network is down问题
  18. 男人的快乐不就来了?
  19. Scrapy新手入门
  20. 计算机网络资料整理《谢希仁版》

热门文章

  1. Laya---淘宝小程序---实名认证与防沉迷
  2. 用python开发物联网终端设备模拟器
  3. “模组+天线”全栈解决方案,提速物联网终端高效部署
  4. 解决Poser Pro 2014 不能运行问题(附下载地址)
  5. 张军当选中国羽毛球协会主席 曾获两届奥运冠军
  6. StateMachineBehaviours动画控制脚本
  7. ICIP2020:VVC两步渐进式帧内预测
  8. 来吧展示!以太网配合FreeRTOS实现socket通信!实战STM32F4以太网DP83848配合LWIP
  9. 三星a9s参数_【三星GalaxyA9s评测】不看后悔 三星A9s不知道这8件事等于白买(全文)_三星 Galaxy A9s(8GB RAM/全网通)_手机评测-中关村在线...
  10. 计算机系学生推荐电脑游戏本,有什么学生笔记本电脑推荐 学生笔记本电脑推荐...