最长 Common 字首 in an array of 串s in 爪哇
如果您想练习数据结构和算法程序,可以通过 数据结构和算法面试题.
在本文中,我们将看到字符串数组中最长的公共前缀。
因此,假设您具有如下字符串数组:
1 2 3 |
串[] 斯特拉={"爪哇2blog","爪哇world","爪哇bean","爪哇temp"}; |
因此上述String数组中的最长公共前缀将为“java”因为以上所有字符串都以“java”.
让我们再举一个例子:
1 2 3 |
串[] 斯特拉={“ sqlblog”,“ sql2world”,“ sqlquery”,“ sqlproc”}; |
因此上述String数组中的最长公共前缀将为“sql”因为以上所有字符串都以“sql”.
算法:
- 查找最小长度的字符串。
- 遍历String数组,如果发现最小长度的String不匹配,则会中断循环,该索引将为我们提供此String数组的最长公共前缀,
爪哇程序来找到最长的公共前缀:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
包 组织.Arpit.爪哇2blog; 上市 类 最长CommonPrefixMain { 上市 静态的 虚空 主要(串[] args) { 串[] 斯特拉={"爪哇2blog","爪哇world","爪哇bean","爪哇temp"}; 串 longestPrefix=getLongestCommonPrefix(斯特拉); 系统.出.打印(“最长的前缀:”+longestPrefix); } 上市 静态的 串 getLongestCommonPrefix(串[] 斯特拉) { 如果(斯特拉.长度==0) 返回 ”; //查找最小长度的字符串 串 minStr=getMinString(斯特拉); 整型 minPrefixStrLength=minStr.长度(); 对于(整型 i=0;i<斯特拉.长度;i++){ 整型 j; 对于( j=0;j<minPrefixStrLength;j++){ 如果(minStr.字符(j)!= 斯特拉[i].字符(j)) 打破; } 如果(j<minPrefixStrLength) minPrefixStrLength=j; } 返回 minStr.子串(0,minPrefixStrLength); } 上市 静态的 串 getMinString(串[] 斯特拉) { 串 minStr=斯特拉[0]; 对于(整型 i=1;i<斯特拉.长度;i++){ 如果(斯特拉[i].长度()<minStr.长度()) minStr=斯特拉[i]; } 返回 minStr; } } |
当您运行上述程序时,将获得以下输出:
1 2 3 |
最长 字首 : 爪哇 |