最長公共字首

2021-10-10 06:18:20 字數 1619 閱讀 3647

最長公共字首

編寫乙個函式來查詢字串陣列中的最長公共字首。

如果不存在公共字首,返回空字串 「」。

示例 1:

輸入: [「flower」,「flow」,「flight」]

輸出: 「fl」

示例 2:

輸入: [「dog」,「racecar」,「car」]

輸出: 「」

解釋: 輸入不存在公共字首。

class

solution

for(

int j =

0;j(i>=strs.

size()

)else

return result;

}return result;}}

;

橫向遍歷

class

solution

result = strs[0]

.erase

(minlen,strs[0]

.size()

-minlen)

;for

(i=0

;isize()

;i++)}

}return result;}}

;

狼滅演算法,直接排序,然後比較第乙個和最後乙個。

class

solution

return result;}}

;

答案1

分治

class

solution

else

} string longestcommonprefix

(const vector

& strs,

int start,

int end)

else

} string commonprefix

(const string& lcpleft,

const string& lcpright)

}return lcpleft.

substr(0

, minlength);}

};

答案2二分查詢

class

solution

int minlength =

min_element

(strs.

begin()

, strs.

end(),

(const string& s,

const string& t))-

>

size()

;int low =

0, high = minlength;

while

(low < high)

else

}return strs[0]

.substr(0

, low);}

bool

iscommonprefix

(const vector

& strs,

int length)}}

return

true;}

};

最長公共字首

描述 給k個字串,求出他們的最長公共字首 lcp 樣例 在 abcd abef 和 acef 中,lcp 為 a 在 abcdefg abcefg abcefa 中,lcp 為 abc 新知識點 vectorstrs既可以是一維的,也可以是多維的。在這裡講解三維的初始化。vector str str...

最長公共字首

編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 示例 1 輸入 flower flow flight 輸出 fl 示例 2 輸入 dog racecar car 輸出 解釋 輸入不存在公共字首。說明 所有輸入只包含小寫字母a z。class solution object...

最長公共字首

編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 示例 1 輸入 flower flow flight 輸出 fl 示例 2 輸入 dog racecar car 輸出 解釋 輸入不存在公共字首。說明 所有輸入只包含小寫字母a z。param strs return var...