题解 | #最长公共前缀#

最长公共前缀

https://www.nowcoder.com/practice/28eb3175488f4434a4a6207f6f484f47

这道题算是我刷牛客的第二道简单题了,也花了好长时间,可以说我一个下午就刷了两道简单题!
没学过算法、数据结构,搞得简单题也够呛的

其实这道题我的思路是首先找到这个数组的最小字符串,然后开启双重循环,其中外循环的次数就是这个最小字符串的长度,
内循环的次数就是整个数组长度,然后比较就比较字符数组的字符串包不包含这个最小的字符串,如果有一个不包含那就更换最小的字符串,
也就是从默认最小的字符串那里截取0~minString.length()-1的子串,然后继续比较,直到最后找到最小公共子串!
思路大家其实都差不多,只是我用的方法比较多java的api,所以时间复杂度较高,不像大佬的几十毫秒的~
菜鸡一个

import java.util.*;

public class Solution {
    /**
     *
     * @param strs string字符串一维数组
     * @return string字符串
     */
    public String longestCommonPrefix (String[] strs) {
        if (strs.length == 0) {
            return "";
        }
        String minString = Arrays.stream(strs).min(String::compareTo).get();
        for (int i = 0; i < minString.length(); i++) {
            for (int j = 0; j < strs.length; j++) {
                if (!strs[j].contains(minString)) {
                    minString = minString.substring(0minString.length() - 1);
                }
            }
        }
        return minString;

    }
}

#Java开发#
全部评论

相关推荐

06-28 22:48
已编辑
广东金融学院 Java
小浪_Coding:学院本+这俩项目不是buff叠满了嘛
点赞 评论 收藏
分享
写不来代码的小黑:这么小的城市能有做it的公司也不容易
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务