最長公共字首
編寫乙個函式來查詢字串陣列中的最長公共字首。
如果不存在公共字首,返回空字串 「」。
示例 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...