国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

最長公共前綴(LCP)

JasonZhang / 2220人閱讀

摘要:最長公共前綴編寫一個函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。如果不存在公共前綴,返回空字符串。思路先將字符串?dāng)?shù)組排序,在比較第一個字符串與最后一個字符串的公共前綴即可,只需比較第一個字符串與最后一個字符串保存公共前綴排序不一樣則退出循環(huán)

最長公共前綴 LCP(longest common prefix)

Leetcode: 編寫一個函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。如果不存在公共前綴,返回空字符串 ""。

思路:先將字符串?dāng)?shù)組排序,在比較第一個字符串與最后一個字符串的公共前綴即可
eg:["abcffffd","abbffffd","abccc"] -> ["abbffffd","abccc","abcffffd"],
只需比較第一個字符串"abbffffd"與最后一個字符串"abcffffd"

代碼實現(xiàn)

/**
 * 最長公共前綴 LCP(longest common prefix)
 * Leetcode: 編寫一個函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。如果不存在公共前綴,返回空字符串 ""。
 *
 * 思路:先將字符串?dāng)?shù)組排序,在比較第一個字符串與最后一個字符串的公共前綴即可
 * eg:["abcffffd","abbffffd","abccc"] -> ["abbffffd","abccc","abcffffd"],
 * 只需比較第一個字符串"abbffffd"與最后一個字符串"abcffffd"
 */
public class LCP {
    public String solution(String[] strs){
        //保存公共前綴
        StringBuffer lcpStr = new StringBuffer();
        if(strs == null){
            return lcpStr.toString();
        }
        //排序
        Arrays.sort(strs);
        String first = strs[0];
        String last = strs[strs.length - 1];
        int firstLength = first.length();
        int lastLength = last.length();
        int count = firstLength > lastLength ? lastLength : firstLength;
        for(int i = 0;i < count;i++){
            if(first.charAt(i) == last.charAt(i)){
                lcpStr.append(first.charAt(i));
            }else{
                //不一樣則退出循環(huán)
                break;
            }
        }

        return lcpStr.toString();
    }

    public static void main(String[] args) {
        LCP lcp = new LCP();
        String[] strs = {"abcffffd","abbffffd","abccc"};
        System.out.println(lcp.solution(strs));
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/77743.html

相關(guān)文章

  • LeetCode14.最長公共前綴 JavaScript

    摘要:最長公共前綴編寫一個函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。如果不存在公共前綴,返回空字符串。示例輸入輸出示例輸入輸出解釋輸入不存在公共前綴。說明所有輸入只包含小寫字母。 LeetCode14.最長公共前綴 JavaScript 編寫一個函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。如果不存在公共前綴,返回空字符串 。 示例 1: 輸入: [flower,flow,flight] 輸出: fl...

    wind5o 評論0 收藏0
  • 字符串?dāng)?shù)組最長公共前綴

    摘要:字符串?dāng)?shù)組最長公共前綴給出字符串?dāng)?shù)組,查找這個數(shù)組中所有字符串的最長公共前綴思路從開始自增,判斷每個字符串位置的字符是否一致,不一致則之前的串為最長公共字符串。利用函數(shù)的特點返回可迭代的對象,只要判斷長度大于,則表明此元素非公共字符。 字符串?dāng)?shù)組最長公共前綴 Longest Common Prefix 給出字符串?dāng)?shù)組,查找這個數(shù)組中所有字符串的最長公共前綴 Write a funct...

    mrli2016 評論0 收藏0
  • <LeetCode天梯>Day023 最長公共前綴(切片法) | 初級算法 | Python

    摘要:如果不存在公共前綴,返回空字符串。示例輸入輸出示例輸入輸出解釋輸入不存在公共前綴。 ?作者簡介:大家好,我是車神哥,府學(xué)路18號的車神? ?個人主頁:應(yīng)無所住...

    kyanag 評論0 收藏0
  • 14. 最長公共前綴-----leetcode刷題(python解題)

    摘要:題目編寫一個函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。如果不存在公共前綴,返回空字符串。示例輸入輸出示例輸入輸出解釋輸入不存在公共前綴。 [TOC] 題目 **編寫一個函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。** 如果不存在公共前綴,返回空字符串 。 示例 1: 輸入: [flower,flow,flight] 輸出: fl 示例 2: 輸入: [dog,racecar,car] 輸出:...

    Berwin 評論0 收藏0
  • # Leetcode 14:Longest Common Prefix 最長公共前綴

    摘要:公眾號愛寫編寫一個函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。如果不存在公共前綴,返回空字符串。由于字符串長度不一,可以先遍歷找出最小長度字符串,這里我選擇拋錯的形式,減少一次遍歷。 公眾號:愛寫bug Write a function to find the longest common prefix string amongst an array of strings. If there...

    Keagan 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<