给定一个由小写英文字母组成的字符串S ,任务是在Python打印给定字符串中存在的最长单词。
例子:
Input: S = “be confident and be yourself”
Output: “confident”
Explanation:
Words present in the sentence are “be”, “confident”, “and”, “be” and “yourself”.
Length of each of the words are 2, 9, 3, 2, and 8 respectively.
Therefore, the longest word is “confident”.
Input: S = “geeks for geeks”
Output: “geeks”
基于搜索的方法:请参考本文通过执行以下步骤来解决此问题:
- 遍历字符串的字符。
- 检查当前遇到的字符是否为空格或是否到达字符串末尾。
- 如果发现当前字符是这样,则更新获得的单词的最大长度。
- 最后,打印使用 substr() 方法获得的最长单词。
时间复杂度: O(N)
辅助空间: O(1)
使用 sorted() 方法的方法:想法是将字符串拆分为单独的单词并存储在列表中。然后,使用 sorted() 方法按长度增加的顺序对列表进行排序。打印排序列表中的最后一个字符串。
下面是上述方法的实现:
Python3
# Python3 program for the above approach
# Function to print the longest
# word in given sentence
def largestWord(s):
# Sort the words in increasing
# order of their lengths
s = sorted(s, key = len)
# Print last word
print(s[-1])
# Driver Code
if __name__ == "__main__":
# Given string
s = "be confident and be yourself"
# Split the string into words
l = list(s.split(" "))
largestWord(l)
输出:
confident
时间复杂度: O(N * logN)
辅助空间: O(1)
如果您想与行业专家一起参加直播课程,请参阅Geeks Classes Live