824. Goat Latin - LeetCode
2024-09-01 01:11:43
Questioin
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();
}
最新文章
- Myeclipse 的hadoop环境搭建
- Sharif University CTF 2016 - Smooth As Silk
- centos systemctl指令
- SpringMvc多文件上传简单实现
- 泰晓科技 +兰大开源社区 +程序动态分析---LINUX内核网站
- Java学习日记-2 零零碎碎
- CentOS6.5切换 语言(附带6.5官方下载地址)
- [转]Hulu 2013北京地区校招笔试题
- 相机标定问题-Matlab &; Py-Opencv
- 【.NET Core项目实战-统一认证平台】第八章 授权篇-IdentityServer4源码分析
- 自学Linux Shell6.1-环境变量概念
- 如何成为软件测试职场“头号玩家”,月入10k+
- C++学习8-面向对象编程基础(模板)
- centOS7 下安装smb服务器
- CentOS普通用户没有sudo权限
- 笔记本(华硕UL80VT)软件超频setFSB
- js中contains()方法的了解
- C#启动外部程序以及等待外部程序关闭的几种方法
- 几个有用的javascript(日期比较,数字验证,数字和汉字长度计算)
- Resources.FindObjectsOfTypeAll<;T>;()的坑(Ghost prefab)
热门文章
- CommonCollection1反序列化学系
- C++“拷贝构造函数”和“等号重载”有什么区别?
- 什么是pandas
- 设计模式-观察者模式Observe的实现
- 人机交互大作业---C#WinForm酒店预订系统(纯界面)
- css如何实现图片响应式等比例缩放,裁剪
- Vue报错Cannot read property &#39;split&#39; of undefined
- el-carousel手动切换图片
- 2021年3月-第02阶段-前端基础-HTML+CSS阶段-Day03
- No value specified for 'Date' BeanUtils.copyProperties 日期为空 转型错误