【Leetcode刷题Python】生词本单词整理

简介: 文章提供了一个Python程序,用于帮助用户整理和排版生词本上的单词,包括去除重复单词、按字典序排序,并按照特定的格式要求进行打印排版。

1 题目

小A最近在努力学习英语。小A有一本生词本,专门用来记录见到的生词。每次小A看到一个自己不认识的单词时,就会把这个生词抄写到生词本上。经过几个月的学习之后,小A想对这个生词本上的单词进行整理。由于小A并不能保证生词抄写一遍后就记下来,因此小A可能会把一个已经记录在生词本上的单词当做不认识的往上写(即一个单词可能在生词本上出现多次)。小A希望把生词本上的单词去重,并且按字典序进行排序,然后排好版打印出来。打印排版的要求是:单词去重后按字典序从小到大的顺序排,相邻的两个单词用一个空格隔开,尽量写在同一行,且每一行至多只能有50个字符(包含空格)。单词在不能隔行写,即如果写下某个单词会超出一行的字符数限制,那么必须将这个单词整个写到下一行的开头。现在将小A若干天以来的记录的生词给你,请你帮他按照要求进行整理和排版。字典序:对两个字符串从左到右进行逐字符比较,比较过程中,一旦发现某一对被比较的字符之间不相等时,这一对字符的大小关系即为这一对字符串的大小关系。比较过程中,一旦出现某一个字符串的所有字符都已经经过比较,而另一字符串还存在未被比较的字符时,较短的字符串更小。所有字符串内的字符都被发现相等,则这两个字符串相等。例如:”abc”<”ba”, “bbc”>”abc”, “ab”<”abc”。
示例1:

样例输入

2
abandon huhuhuh muhah lalala english language study learn
abandon learn

样例输出
abandon english huhuhuh lalala language learn
muhah study

示例2:

输入样例

1

abandon huhuhuh muha lalala english language study learn

输出样例

abandon english huhuhuh lalala language learn muha

study

2 Python实现

m = int(input())
words = []
while 1:
    s = input()
    if s != "":
        words.extend(s.split())
    else:
        break
words2 = list(set(words))
words2.sort()

n = 0
for w in words2:
    l = n+len(w)
    if l <=50:
        print (w,end=' ' )
        n += len(w)+1
    else:
        print('\n{}'.format(w),end=' ')
        n = 0

这个代码通过了仅为9%,不知道哪里出了问题,希望大家指正

目录
相关文章
|
3月前
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
280页PDF,全方位评估OpenAI o1,Leetcode刷题准确率竟这么高
【10月更文挑战第24天】近年来,OpenAI的o1模型在大型语言模型(LLMs)中脱颖而出,展现出卓越的推理能力和知识整合能力。基于Transformer架构,o1模型采用了链式思维和强化学习等先进技术,显著提升了其在编程竞赛、医学影像报告生成、数学问题解决、自然语言推理和芯片设计等领域的表现。本文将全面评估o1模型的性能及其对AI研究和应用的潜在影响。
26 1
|
3月前
|
数据采集 负载均衡 安全
LeetCode刷题 多线程编程九则 | 1188. 设计有限阻塞队列 1242. 多线程网页爬虫 1279. 红绿灯路口
本文提供了多个多线程编程问题的解决方案,包括设计有限阻塞队列、多线程网页爬虫、红绿灯路口等,每个问题都给出了至少一种实现方法,涵盖了互斥锁、条件变量、信号量等线程同步机制的使用。
LeetCode刷题 多线程编程九则 | 1188. 设计有限阻塞队列 1242. 多线程网页爬虫 1279. 红绿灯路口
|
2月前
|
搜索推荐 Python
Leecode 101刷题笔记之第五章:和你一起你轻松刷题(Python)
这篇文章是关于LeetCode第101章的刷题笔记,涵盖了多种排序算法的Python实现和两个中等难度的编程练习题的解法。
23 3
|
2月前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
47 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
|
2月前
|
算法 C++ Python
Leecode 101刷题笔记之第四章:和你一起你轻松刷题(Python)
这篇博客是关于LeetCode上使用Python语言解决二分查找问题的刷题笔记,涵盖了从基础到进阶难度的多个题目及其解法。
18 0
|
2月前
|
算法 C++ Python
Leecode 101刷题笔记之第三章:和你一起你轻松刷题(Python)
本文是关于LeetCode算法题的刷题笔记,主要介绍了使用双指针技术解决的一系列算法问题,包括Two Sum II、Merge Sorted Array、Linked List Cycle II等,并提供了详细的题解和Python代码实现。
15 0
|
2月前
|
算法 C++ 索引
Leecode 101刷题笔记之第二章:和你一起你轻松刷题(Python)
本文是关于LeetCode 101刷题笔记的第二章,主要介绍了使用Python解决贪心算法题目的方法和实例。
11 0
|
2月前
Leetcode(最后一个单词长度)
这篇文章介绍了两种解决LeetCode第58题的方法,即计算给定字符串中最后一个单词的长度,方法包括翻转字符串和逆向遍历统计。
22 0
|
2月前
【LeetCode 20】151.反转字符串里的单词
【LeetCode 20】151.反转字符串里的单词
19 0