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