每日一题——山羊拉丁文

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

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的软件
518 1
|
运维 监控 负载均衡
ACS
阿里云容器计算服务ACS(Alibaba Cloud Container Compute Service,ACS)是一种基于容器技术的云计算服务,它可以帮助用户快速构建、部署和管理容器化应用程序。ACS提供了容器镜像、容器编排、负载均衡、日志监控等功能,使得用户可以专注于应用程序的开发和迭代,而无需关注底层的基础设施和运维。
536 3
|
11月前
|
存储 运维 安全
云上金融量化策略回测方案与最佳实践
【飞天技术沙龙—阿里云金融量化策略回测Workshop】在上海诺亚财富中心正式举行,汇聚多位行业专家,围绕量化投资的最佳实践、数据隐私安全、量化策略回测方案等议题进行深入探讨。
Anaconda在开始菜单找不到Anaconda command prompt入口
这篇文章提供了解决Anaconda安装后在开始菜单找不到Anaconda command prompt入口问题的步骤,通过运行命令`python .\\Lib\_nsis.py mkmenus`重新创建Anaconda的开始菜单快捷方式。
Anaconda在开始菜单找不到Anaconda command prompt入口
|
前端开发 JavaScript API
一秒钟的魔法:揭秘CSS动画的神奇效果(上)
一秒钟的魔法:揭秘CSS动画的神奇效果(上)
|
存储 弹性计算 缓存
阿里云经济型e实例云服务器怎么样?经济型e实例性能及价格详细介绍
前不久,阿里云推出了经济型e实例,它一款全新的云服务器实例,是阿里云面向个人开发者、学生、小微企业,可轻松满足网站建设、开发测试和小型应用构建等场景需求,目前的价格最低15元/月,进一步降低了学生群体、个人开发者和小微企业的上云门槛。本位为大家详细介绍一下经济型e实例,以供参考。
1127 1
阿里云经济型e实例云服务器怎么样?经济型e实例性能及价格详细介绍
|
存储 设计模式 数据库
Yii2如何设置session的过期时间?底层原理是什么?
Yii2如何设置session的过期时间?底层原理是什么?
576 0
DC电源模块是什么?有哪些常见的应用场景?
DC电源模块是一种将交流电转换为直流电的电源模块。它通常由变压器、整流器、滤波电容器、稳压电路等部分组成,可以将输入的变压后的交流电转换为稳定的直流电输出。
DC电源模块是什么?有哪些常见的应用场景?
|
存储 消息中间件 监控
大型系统如何划分边界?
大型系统如何划分边界?
639 0
大型系统如何划分边界?
|
网络协议 C语言 C++
Visual Studio 2022 从下载安装到如何使用的全面讲解 (图文详解)(下)
Visual Studio 2022 从下载安装到如何使用的全面讲解 (图文详解)(下)
506 0