摘要:最長(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
摘要:最長(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...
摘要:字符串?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...
摘要:如果不存在公共前綴,返回空字符串。示例輸入輸出示例輸入輸出解釋輸入不存在公共前綴。 ?作者簡(jiǎn)介:大家好,我是車神哥,府學(xué)路18號(hào)的車神? ?個(gè)人主頁(yè):應(yīng)無所住...
摘要:題目編寫一個(gè)函數(shù)來查找字符串?dāng)?shù)組中的最長(zhǎng)公共前綴。如果不存在公共前綴,返回空字符串。示例輸入輸出示例輸入輸出解釋輸入不存在公共前綴。 [TOC] 題目 **編寫一個(gè)函數(shù)來查找字符串?dāng)?shù)組中的最長(zhǎng)公共前綴。** 如果不存在公共前綴,返回空字符串 。 示例 1: 輸入: [flower,flow,flight] 輸出: fl 示例 2: 輸入: [dog,racecar,car] 輸出:...
摘要:公眾號(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...
閱讀 2037·2021-11-12 10:36
閱讀 1904·2021-11-09 09:49
閱讀 2611·2021-11-04 16:12
閱讀 1157·2021-10-09 09:57
閱讀 3251·2019-08-29 17:24
閱讀 1924·2019-08-29 15:12
閱讀 1284·2019-08-29 14:07
閱讀 1298·2019-08-29 12:53