作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
需要找到词组中每个句子的最大词数。句子用?.!
符号分隔。
我几乎已经完成了这项任务,但是我坚持以纯Java 8的方式来完成它,您能帮我吗?
public static void main(String[] args) {
assert solution("We test coders. Give us a try?") == 4;
assert solution("Forget CVs..Save time . x x") == 2;
assert solution("Some some! time . x x") == 2;
}
public static int solution(String S) {
return Arrays.stream(S.split("[.!?]"))
.map(String::trim)
.filter(s -> !s.isEmpty())
.max(Comparator.comparingInt(o -> o.split(" ").length))
.map(s -> s.split(" "))
.flatMap(...); // <-- what to do here?
}
最佳答案
只需按"\\s+"
分割单词即可(因此您将忽略多个空格字符)。然后从max()
获取IntStream
值。
Arrays.stream(str.split("[.!?]"))
.map(String::trim)
.filter(s -> !s.isEmpty())
.mapToInt(s -> s.split("\\s+").length)
.max()
.orElse(0);
Arrays.stream(str.split("\\s*+(?:[.!?]\\s*+)+"))
.mapToInt(s -> s.split("\\s+").length)
.max()
.orElse(0);
Stream.of(str)
.map(splittingBy("\\s*+(?:[.!?]\\s*+)+"))
.flatMap(Arrays::stream)
.map(splittingBy("\\s+"))
.mapToInt(arr -> arr.length)
.max()
.orElse(0);
...
static Function<String, String[]> splittingBy(String regex) {
return str -> str.split(regex);
}
关于java - 查找Java 8时尚中的最大单词数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55159951/
import io import torch import torch.nn as nn from torchvision import models from PIL import Image im
我正在使用时尚 MNIST 数据集来尝试解决这个问题。我正在使用链接中的数据: 培训: http://fashion-mnist.s3-website.eu-central-1.amazonaws.c
我正在使用 Firefox 插件 Stylish 为 Facebook 创建自定义样式。我试图让顶部的蓝色条变平,但我做不到。我使用 CSS 代码: #blueBar { background-
我是一名优秀的程序员,十分优秀!