从最大子序和读出的算法之美-负数不是敌人,无意义的负和才是
pre=Math.max(num,pre+num)
如果哪天你再遇到:
一个看似拖后腿的负数
一段被误解的累积
一次犹豫是否该“重开”的选择
记得:
真正的最优解,从不回避过程中的曲折,只认准路径的净增益。
这代码怎么写才能既简短又易于阅读?
if(result != null && result.isSuccess() && result.getData() != null) {
return result.getData().getUserList();
}
如果用Lambda是这样的:
return Optional.ofNullable(result)
.filter(Result::isSuccess)
.map(Result::getData)
.map(Data::getUserList)
.orElse(Collections.emptyList());
虽然重复的代码少了,但是字符数仍然很多。
大家是否有更优化更简洁的写法呢?
if(result != null && result.isSuccess() && result.getData() != null) {
return result.getData().getUserList();
}
如果用Lambda是这样的:
return Optional.ofNullable(result)
.filter(Result::isSuccess)
.map(Result::getData)
.map(Data::getUserList)
.orElse(Collections.emptyList());
虽然重复的代码少了,但是字符数仍然很多。
大家是否有更优化更简洁的写法呢?
展开
3
3