建设网站模板下载,网页设计心得500字,网络推广公司开业广告,90设计官方网站2024.1.20 题目来源我的题解方法一 API工程师(String.splitStream)方法二 模拟 题目来源
力扣每日一题#xff1b;题序#xff1a;2788
我的题解
方法一 API工程师(String.splitStream) 直接调用相关API 时间复杂度#xff1a;O(n)。没有考虑API内部时间 空间复杂度… 2024.1.20 题目来源我的题解方法一 API工程师(String.splitStream)方法二 模拟 题目来源
力扣每日一题题序2788
我的题解
方法一 API工程师(String.splitStream) 直接调用相关API 时间复杂度O(n)。没有考虑API内部时间 空间复杂度O(1)。没考虑API内部细节 public ListString splitWordsBySeparator(ListString words, char separator) {ListString resnew ArrayList();for(String s :words){res.addAll(Arrays.stream(s.split(\\separator)).filter(c-!c.isEmpty()).collect(Collectors.toList()));}return res;}方法二 模拟 模拟分割 时间复杂度O(nm)。n是中的字符串数m是最长字符串的长度 空间复杂度O(m)。在分割函数中存储结果的list大小 public ListString splitWordsBySeparator(ListString words, char separator) {ListString resnew ArrayList();for(String s :words){res.addAll(split(s,separator));}return res;
}
public ListString split(String s,char separator){int ns.length();int left0,right0;ListString resnew ArrayList();while(rightn){while(rightns.charAt(right)!separator){right;}String ts.substring(left,right);if(!t.isEmpty())res.add(t);leftright1;rightleft;}return res;
}有任何问题欢迎评论区交流欢迎评论区提供其它解题思路代码也可以点个赞支持一下作者哈~