Questioin

824. Goat Latin

Solution

题目大意:根据要求翻译句子

思路:转换成单词数组,遍历数组,根据要求转换单词

Java实现:

用Java8的流实现,效率太低

public String toGoatLatin(String S) {
final String[] arr = S.split(" ");
final int[] idx = {0};
return Arrays.stream(S.split(" "))
.map(s -> convert(s, ++idx[0]))
.reduce("", (s1, s2) -> s1 + " " + s2).trim();
} String convert(String ori, int count) {
String pre = "";
// begin with vowel aeiou
char first = ori.charAt(0);
if (first == 'A' || first == 'a'
|| first == 'E' || first == 'e'
|| first == 'I' || first == 'i'
|| first == 'O' || first == 'o'
|| first == 'U' || first == 'u'
) {
pre = ori;
} else {
// begin with consonant not aeiou
pre = ori.substring(1) + first;
} // add a
char[] a = new char[count];
for (int i = 0; i < count; i++) {
a[i] = 'a';
}
return pre + "ma" + String.valueOf(a);
}

public String toGoatLatin(String S) {
StringBuilder sb = new StringBuilder();
int count = 1;
for(String tmp : S.split(" ")) {
sb.append(convert(tmp, count++)).append(" ");
}
return sb.toString().trim();
}

最新文章

  1. Myeclipse 的hadoop环境搭建
  2. Sharif University CTF 2016 - Smooth As Silk
  3. centos systemctl指令
  4. SpringMvc多文件上传简单实现
  5. 泰晓科技 +兰大开源社区 +程序动态分析---LINUX内核网站
  6. Java学习日记-2 零零碎碎
  7. CentOS6.5切换 语言(附带6.5官方下载地址)
  8. [转]Hulu 2013北京地区校招笔试题
  9. 相机标定问题-Matlab &amp; Py-Opencv
  10. 【.NET Core项目实战-统一认证平台】第八章 授权篇-IdentityServer4源码分析
  11. 自学Linux Shell6.1-环境变量概念
  12. 如何成为软件测试职场“头号玩家”,月入10k+
  13. C++学习8-面向对象编程基础(模板)
  14. centOS7 下安装smb服务器
  15. CentOS普通用户没有sudo权限
  16. 笔记本(华硕UL80VT)软件超频setFSB
  17. js中contains()方法的了解
  18. C#启动外部程序以及等待外部程序关闭的几种方法
  19. 几个有用的javascript(日期比较,数字验证,数字和汉字长度计算)
  20. Resources.FindObjectsOfTypeAll&lt;T&gt;()的坑(Ghost prefab)

热门文章

  1. CommonCollection1反序列化学系
  2. C++“拷贝构造函数”和“等号重载”有什么区别?
  3. 什么是pandas
  4. 设计模式-观察者模式Observe的实现
  5. 人机交互大作业---C#WinForm酒店预订系统(纯界面)
  6. css如何实现图片响应式等比例缩放,裁剪
  7. Vue报错Cannot read property &#39;split&#39; of undefined
  8. el-carousel手动切换图片
  9. 2021年3月-第02阶段-前端基础-HTML+CSS阶段-Day03
  10. No value specified for 'Date' BeanUtils.copyProperties 日期为空 转型错误