leetcode:面试题 17.07. 婴儿名字(并查集,代码超时了)
题目:
分析:
并查集。
我用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. 婴儿名字(并查集,代码超时了)相关推荐
- LeetCode 面试题 17.07婴儿名字 (并查集+字符串处理+字典序)
婴儿名字 1600ms,吐了 ,代码看似很长.但主要花在了字符串处理上. string s; s.substring(int idx,int len); //去除子串 stoi(string s); ...
- 面试题.17.07.婴儿名字--并查集
LeetCode 面试题 17.07.婴儿名字 每年,政府都会公布一万个最常见的婴儿名字和它们出现的频率,也就是同名婴儿的数量.有些名字有多种拼法,例如,John 和 Jon 本质上是相同的名字,但被 ...
- [LeetCode][C++]面试题 17.07. 婴儿名字/并查集
面试题 17.07. 婴儿名字 每年,政府都会公布一万个最常见的婴儿名字和它们出现的频率,也就是同名婴儿的数量.有些名字有多种拼法,例如,John 和 Jon 本质上是相同的名字,但被当成了两个名字公 ...
- 面试题 17.07. 婴儿名字(并查集模板)
难度中等33 每年,政府都会公布一万个最常见的婴儿名字和它们出现的频率,也就是同名婴儿的数量.有些名字有多种拼法,例如,John 和 Jon 本质上是相同的名字,但被当成了两个名字公布出来.给定两个列 ...
- leetcode面试题 17.07. 婴儿名字(并查集)
每年,政府都会公布一万个最常见的婴儿名字和它们出现的频率,也就是同名婴儿的数量.有些名字有多种拼法,例如,John 和 Jon 本质上是相同的名字,但被当成了两个名字公布出来.给定两个列表,一个是名字 ...
- LeetCode 面试题 17.07. 婴儿名字
难度:中等. 标签:并查集,深度优先搜索,广度优先搜索. 这个题思路不难想到,就是很复杂. 需要注意的两个点: 用例中的names可能出现重复的名字,比如下面的用例,出现了两个Jon,第二个Jon的值 ...
- 并查集之面试题 17.07. 婴儿名字
并查集之面试题 17.07. 婴儿名字 前言 一, 面试题 17.07. 婴儿名字 二,解题思路 1, a和b是朋友, b和c是朋友,那a和c也是朋友.这就是典型并查集类型 2, 字典序 3, 三, ...
- 面试题 17.07. 婴儿名字 ( 字符标志 并查集 )
面试题 17.07. 婴儿名字 字符串并查集: 721. 账户合并 ( 并查集 ) 解题思路: 首先通过哈希表建立并查集,哈希表的键值对都是字符串,然后将一个相连的并查集合并: 利用一个哈希表进行计数 ...
- 面试题 17.07. 婴儿名字
面试题 17.07. 婴儿名字 每年,政府都会公布一万个最常见的婴儿名字和它们出现的频率,也就是同名婴儿的数量.有些名字有多种拼法,例如,John 和 Jon 本质上是相同的名字,但被当成了两个名字公 ...
- 程序员面试金典 - 面试题 17.07. 婴儿名字(并查集)
1. 题目 每年,政府都会公布一万个最常见的婴儿名字和它们出现的频率,也就是同名婴儿的数量. 有些名字有多种拼法,例如,John 和 Jon 本质上是相同的名字,但被当成了两个名字公布出来. 给定两个 ...
最新文章
- Vim Vundle 插件管理器
- ftl保存成html中文是乱码,解决freemarker生成静态页面时乱码问题
- Ubuntu12下安装redis(多图版)+ Jedis连接Redis
- html禁用自动完成,html – 如何禁用所有主流浏览器的自动完成功能
- java动态代理技术
- 微软公司等数据结构+算法面试100题2010版全部出炉
- 是什么门的缩写_干货分享:汽车排气系统部件有什么?出故障都有什么现象?...
- 信号问题可根除,苹果新款 iPhone 将搭载高通基带?
- java学习,不定期更新~
- bzoj1396 识别子串
- 评委对计算机知识竞赛的提问,知识竞赛抢答软件-评委评分知识竞赛答题软件...
- Spring 中 AOP 的实现原理——动态代理
- 三峡大学 计算机学院 刘洋,三峡大学科技学院2016年预科内升本专业分流结果公示...
- An Efficient Joint Training Framework for Robust Small-Footprint Keyword Spotting(2020)
- 零基础学HTML5的学习路线完整版
- 微信小程序--实现番茄钟功能
- kali使用笔记本自带无线网卡_kali学习笔记之——wi read():Network is down问题
- 男人的快乐不就来了?
- Scrapy新手入门
- 计算机网络资料整理《谢希仁版》
热门文章
- Laya---淘宝小程序---实名认证与防沉迷
- 用python开发物联网终端设备模拟器
- “模组+天线”全栈解决方案,提速物联网终端高效部署
- 解决Poser Pro 2014 不能运行问题(附下载地址)
- 张军当选中国羽毛球协会主席 曾获两届奥运冠军
- StateMachineBehaviours动画控制脚本
- ICIP2020:VVC两步渐进式帧内预测
- 来吧展示!以太网配合FreeRTOS实现socket通信!实战STM32F4以太网DP83848配合LWIP
- 三星a9s参数_【三星GalaxyA9s评测】不看后悔 三星A9s不知道这8件事等于白买(全文)_三星 Galaxy A9s(8GB RAM/全网通)_手机评测-中关村在线...
- 计算机系学生推荐电脑游戏本,有什么学生笔记本电脑推荐 学生笔记本电脑推荐...