日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Leetcode笔记 每日一题 824. 山羊拉丁文 (22.04.21)

發布時間:2023/12/18 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Leetcode笔记 每日一题 824. 山羊拉丁文 (22.04.21) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Leetcode筆記 每日一題 824. 山羊拉丁文 (22.04.21)

Leetcode筆記 每日一題 824. 山羊拉丁文 (22.04.21)

題目

給你一個由若干單詞組成的句子 sentence ,單詞間由空格分隔。每個單詞僅由大寫和小寫英文字母組成。

請你將句子轉換為 “山羊拉丁文(Goat Latin)”(一種類似于 豬拉丁文 - Pig Latin 的虛構語言)。山羊拉丁文的規則如下:

如果單詞以元音開頭('a', 'e', 'i', 'o', 'u'),在單詞后添加"ma"。

  • 例如,單詞 "apple" 變為 "applema" 。

如果單詞以輔音字母開頭(即,非元音字母),移除第一個字符并將它放到末尾,之后再添加"ma"。

  • 例如,單詞 "goat" 變為 "oatgma" 。

根據單詞在句子中的索引,在單詞最后添加與索引相同數量的字母’a’,索引從 1 開始。

  • 例如,在第一個單詞后添加 "a" ,在第二個單詞后添加 "aa" ,以此類推。

返回將 sentence 轉換為山羊拉丁文后的句子。

示例 1:

輸入:sentence = “I speak Goat Latin”
輸出:“Imaa peaksmaaa oatGmaaaa atinLmaaaaa”

示例 2:

輸入:sentence = “The quick brown fox jumped over the lazy dog”
輸出:“heTmaa uickqmaaa rownbmaaaa oxfmaaaaa umpedjmaaaaaa overmaaaaaaa
hetmaaaaaaaa azylmaaaaaaaaa ogdmaaaaaaaaaa”

提示:

  • 1 <= sentence.length <= 150
  • sentence 由英文字母和空格組成
  • sentence 不含前導或尾隨空格
  • sentence 中的所有單詞由單個空格分隔

解題思路

思路:這題也是針對每個單詞進行操作,所以第一步就先把字符串sentence中的單詞提取出來,跟 Leetcode筆記 每日一題 819. 最常見的單詞 (22.04.17) 方法一樣,用split()函數,將空格作為分割字符,用列表word存儲單詞。

第二步便是按題目要求對單詞進行操作,具體如下:

1.當首字母是元音字母{"a", "e", "i", "o", "u", "A", "E", "I", "O", "U"}時,在單詞后添加"ma"。即word[i] + "ma" ,然后存進res[]
2. 當單詞以輔音字母開頭(即,非元音字母),移除第一個字符并將它放到末尾,之后再添加"ma"。 即word[i][1:j+1] + word[i][0] + "ma",然后存進res[]
3. 然后根據單詞索引word[i]中"i+1"的數字大小添加相同數量的"a",即"a"*cnt

最后恢復成原來的句子形式" ".join(res)

Python代碼

class Solution:def toGoatLatin(self, sentence: str) -> str:vowels = {"a", "e", "i", "o", "u", "A", "E", "I", "O", "U"}res = []word = sentence.split()for i in range(len(word)):cnt = i+1 # 計算索引大小if word[i][0] in vowels: # 判斷首字母是否為元音字母res.append(word[i] + "ma" + "a"*cnt)else:j = len(word[i]) # 獲取單詞的長度res.append(word[i][1:j+1] + word[i][0] + "ma" + "a"*cnt)return " ".join(res)

總結

以上是生活随笔為你收集整理的Leetcode笔记 每日一题 824. 山羊拉丁文 (22.04.21)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。