每日一题——山羊拉丁文

简介: 每日一题——山羊拉丁文

824. 山羊拉丁文

题目描述:

给你一个由若干单词组成的句子 sentence ,单词间由空格分隔。每个单词仅由大写和小写英文字母组成。

请你将句子转换为 “山羊拉丁文(Goat Latin,返回将 sentence 转换为山羊拉丁文后的句子。

山羊拉丁文的规则如下:

如果单词以元音开头(‘a’, ‘e’, ‘i’, ‘o’, ‘u’),在单词后添加"ma"。

例如,单词 “apple” 变为 “applema” 。

如果单词以辅音字母开头(即,非元音字母),移除第一个字符并将它放到末尾,之后再添加"ma"。

例如,单词 “goat” 变为 “oatgma” 。

根据单词在句子中的索引,在单词最后添加与索引相同数量的字母’a’,索引从 1 开始。

例如,在第一个单词后添加 “a” ,在第二个单词后添加 “aa” ,以此类推。

示例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”

题解:

func toGoatLatin(sentence string) string {
  assistStr := "aeiouAEIOU"
  words := strings.Split(sentence, " ")
  ansSlice:=make([]string,len(words))
  // 遍历words,对应的i,同样也是变化后的word在ansSlice切片中的位置
  for i, word := range words {
    index := i + 1
    if strings.Contains(assistStr, string(word[0])) {
      word = addA(word+"ma", index)
      ansSlice[i] = word
      continue
    } else {
      word = addA(word[1:]+string(word[0])+"ma", index)
      ansSlice[i] = word
      continue
    }
  }
  return strings.Join(ansSlice," ")
}
// word后追加a,index是多少,追加几个“a”
func addA(word string, index int) string {
  for i := 0; i < index; i++ {
    word = word + "a"
  }
  return word
}

提交结果:

相关文章
|
物联网 Java 开发工具
如何编辑一个NFC的软件
如何编辑一个NFC的软件
538 1
|
人工智能 搜索推荐
数字孪生与体育:运动员表现分析
数字孪生技术在体育领域的应用正逐步改变运动员的训练和表现分析方式。通过创建虚拟模型,该技术能够实现个性化训练计划制定、比赛环境模拟、潜在伤害风险预测、技术动作精细化分析及团队战术布局模拟。结合AI技术,数字孪生为教练和运动员提供实时反馈和数据驱动的决策支持,助力提升竞技水平。
|
存储 运维 安全
云上金融量化策略回测方案与最佳实践
【飞天技术沙龙—阿里云金融量化策略回测Workshop】在上海诺亚财富中心正式举行,汇聚多位行业专家,围绕量化投资的最佳实践、数据隐私安全、量化策略回测方案等议题进行深入探讨。
|
机器人 计算机视觉 Python
Python作为一种高效、易读且功能强大的编程语言,在教育领域的应用日益广泛
Python作为一种高效、易读且功能强大的编程语言,在教育领域的应用日益广泛
291 5
|
算法 数据建模 网络安全
阿里云SSL证书2024双11优惠,WoSign DV证书220元/年起
2024阿里云11.11金秋云创季火热进行中,活动月期间(2024年11月01日至11月30日),阿里云SSL证书限时优惠,部分证书产品新老同享75折起;通过优惠折扣、叠加满减优惠券等多种方式,阿里云WoSign SSL证书将实现优惠价格新低,DV SSL证书220元/年起。
948 5
Anaconda在开始菜单找不到Anaconda command prompt入口
这篇文章提供了解决Anaconda安装后在开始菜单找不到Anaconda command prompt入口问题的步骤,通过运行命令`python .\\Lib\_nsis.py mkmenus`重新创建Anaconda的开始菜单快捷方式。
Anaconda在开始菜单找不到Anaconda command prompt入口
|
机器学习/深度学习 人工智能 自然语言处理
ChatGPT的名字由
【10月更文挑战第13天】
534 0
|
安全 数据安全/隐私保护 UED
优化用户体验:前后端分离架构下Python WebSocket实时通信的性能考量
【7月更文挑战第17天】前后端分离趋势下,WebSocket成为实时通信的关键,Python有`websockets`等库支持WebSocket服务。与HTTP轮询相比,WebSocket减少延迟,提高响应。连接管理、消息传输效率、并发处理及安全性是性能考量重点。使用WebSocket能优化用户体验,尤其适合社交、游戏等实时场景。开发应考虑场景需求,充分利用WebSocket优势。
509 3
耳返耳机有哪些品牌?
【7月更文挑战第11天】耳返耳机有哪些品牌?
1401 2
|
前端开发 JavaScript API
一秒钟的魔法:揭秘CSS动画的神奇效果(上)
一秒钟的魔法:揭秘CSS动画的神奇效果(上)