leetcode 1859. Sorting the Sentence (python)

203 阅读1分钟

描述

A sentence is a list of words that are separated by a single space with no leading or trailing spaces. Each word consists of lowercase and uppercase English letters.

A sentence can be shuffled by appending the 1-indexed word position to each word then rearranging the words in the sentence.

  • For example, the sentence "This is a sentence" can be shuffled as "sentence4 a3 is2 This1" or "is2 sentence4 This1 a3".

Given a shuffled sentence s containing no more than 9 words, reconstruct and return the original sentence.

Example 1:

Input: s = "is2 sentence4 This1 a3"
Output: "This is a sentence"
Explanation: Sort the words in s to their original positions "This1 is2 a3 sentence4", then remove the numbers.

Example 2:

Input: s = "Myself2 Me1 I4 and3"
Output: "Me Myself and I"
Explanation: Sort the words in s to their original positions "Me1 Myself2 and3 I4", then remove the numbers.

Note:

2 <= s.length <= 200
s consists of lowercase and uppercase English letters, spaces, and digits from 1 to 9.
The number of words in s is between 1 and 9.
The words in s are separated by a single space.
s contains no leading or trailing spaces.

解析

根据题意,就是将 s 中的单词根据其尾部的序号进行排序,思路简单,不在赘述。

解答

class Solution(object):
    def sortSentence(self, s):
        """
        :type s: str
        :rtype: str
        """
        s = s.split()
        N = len(s)
        r = [None]*N
        for i in range(N):
            word = s[i]
            r[int(word[-1])-1] = word[:-1]
        return ' '.join(r)
        	      
		

运行结果

Runtime: 36 ms, faster than 13.57% of Python online submissions for Sorting the Sentence.
Memory Usage: 13.5 MB, less than 74.03% of Python online submissions for Sorting the Sentence.

原题链接:leetcode.com/problems/so…

您的支持是我最大的动力