成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

最長(zhǎng)公共前綴(LCP)

JasonZhang / 2226人閱讀

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

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

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

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

代碼實(shí)現(xiàn)

/**
 * 最長(zhǎng)公共前綴 LCP(longest common prefix)
 * Leetcode: 編寫一個(gè)函數(shù)來查找字符串?dāng)?shù)組中的最長(zhǎng)公共前綴。如果不存在公共前綴,返回空字符串 ""。
 *
 * 思路:先將字符串?dāng)?shù)組排序,在比較第一個(gè)字符串與最后一個(gè)字符串的公共前綴即可
 * eg:["abcffffd","abbffffd","abccc"] -> ["abbffffd","abccc","abcffffd"],
 * 只需比較第一個(gè)字符串"abbffffd"與最后一個(gè)字符串"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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/77743.html

相關(guān)文章

  • LeetCode14.最長(zhǎng)公共前綴 JavaScript

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

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

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

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

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

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

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

    Berwin 評(píng)論0 收藏0
  • # Leetcode 14:Longest Common Prefix 最長(zhǎng)公共前綴

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

    Keagan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<