1,问题简述javascript
编写一个函数来查找字符串数组中的最长公共前缀。java
若是不存在公共前缀,返回空字符串 ""。redis
2,示例spring
示例 1:
输入: ["flower","flow","flight"]输出: "fl"示例 2:
输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。
3,题解思路数组
对比缓存
4,题解程序springboot
import java.util.Arrays;
public class LongestCommonPrefixTest { public static void main(String[] args) { String[] strs = {"flower", "flow", "flight"}; String longestCommonPrefix = longestCommonPrefix(strs); System.out.println("longestCommonPrefix = " + longestCommonPrefix); }
public static String longestCommonPrefix(String[] strs) { if (strs == null || strs.length == 0) { return ""; } if (strs.length == 1) { return strs[0]; } Arrays.sort(strs); char[] c1 = strs[0].toCharArray(); char[] c2 = strs[strs.length - 1].toCharArray(); int maxLength = Math.min(c1.length, c2.length); StringBuilder stringBuilder = new StringBuilder(maxLength); int i = 0; while (i < maxLength) { if (c1[i] == c2[i]) { stringBuilder.append(c1[i]); } else { break; } i++; } return stringBuilder.toString(); }}
5,总结,这道题想着是上周有时间总结输出来的,可是仍是延迟了一个周,才将这道题总结输出出来,这道题就是一个对比的题,本质上利用了缓存这一原理,以前本身在写相似键值对集合时,也有了本身的一点思考,输出总结这道题时也是有了本身的一点思考,以为这个缓存这个概念真的很宽泛,单体应用下的map,分布式缓存经常使用的就是redis这样的缓存组件了,缓存,字面理解就是暂时存储,起到了一个缓冲的做用,估计和缓冲区又不太同样,写过redis的内容,我都忘了本身用它来作什么的了,看下过往写过redis用法的文章springboot整合redis进行缓存的使用,java进阶|Springboot整合Redis+Aop+自定义注解实现数据埋点操做,后面这篇文章是我以为写得比较满意的一篇文章,业务场景用到的,其实输出文章就是帮助本身记录,顺便帮助须要的人,这就是写文章记录的意义了
微信
本文分享自微信公众号 - WwpwW(gh_245290c1861a)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。app