题解 | #最长公共前缀#

最长公共前缀

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开发#
全部评论

相关推荐

大清早迷迷糊糊被闹钟叫醒,坐在电脑面前开始答题,硬生生坐了2小时,要是不进面,我都无颜面对我的屁股
在看数据的傻狍子很忙碌:26届还好啦。我昨晚还要跟mt值班降级熔断的测试 , 回来做一下上周的美团笔试 , 做完已经快三点了。只a出1.25。而且手机还断网了4次五六秒,已经心碎了。
投递美团等公司10个岗位 > 美团求职进展汇总
点赞 评论 收藏
分享
02-08 20:56
已编辑
南京工业大学 Java
在等offer的比尔很洒脱:我也是在实习,项目先不说,感觉有点点小熟悉,但是我有点疑问,这第一个实习,公司真的让实习生去部署搭建和引入mq之类的吗,是不是有点过于信任了,我实习过的两个公司都是人家正式早搭好了,根本摸不到部署搭建的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务