14.最长公共前缀

简介: 14.最长公共前缀

题目:编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串""。

                     

解题思路:横向扫描,依次遍历每个字符串,更新最长公共前缀。另一种方法是纵向扫描。纵向扫描时,从前往后遍历所有字符串的每一列,比较相同列上的字符是否相同,如果相同则继续对下一列进行比较,如果不相同则当前列不再属于公共前缀,当前列之前的部分为最长公共前缀。

class Solution{
    public String longestCommonPrefix(String[] strs){
        if(strs==null||strs.length==0){
            return "";        
        }   
        int length=strs[0].length();
        int count=strs.length;
        for(int i=0;i<length;i++){
            char c=strs[0].charAt(i);
            for(int j=1;j<count;j++){
                if(i==strs[j].length()||strs[j].charAt(i)!=c){
                    return strs[0].substring(0,i);                
                }            
            }        
        } 
        return strs[0];
    }
}


相关文章
|
容器
Flutter 组件(一)组件概述
Flutter 组件(一)组件概述
528 0
|
运维 Cloud Native 前端开发
如何解决 503 Service Temporarily Unavailable?
如何解决 503 Service Temporarily Unavailable?
2195 0
|
前端开发
antd mobile 作者教你写 React 受控组件和非受控组件(二)
曾经,我每次面试时几乎都会问一个问题:antd 中的 Input 组件是受控组件还是非受控组件?
642 0
antd mobile 作者教你写 React 受控组件和非受控组件(二)
|
Dart
Flutter|常用数据通信组件
在做需求时经常会遇到组件间通信,本篇汇总了几种常用的通信方式
316 57
|
JavaScript
vue中query和params传参的区别
vue中query和params传参的区别
458 0
|
机器学习/深度学习
Softmax 和 ReLU 函数的效用
【8月更文挑战第23天】
870 0
|
机器学习/深度学习 算法 搜索推荐
机器学习中的聚类
**文章摘要:** 本文介绍了聚类算法的基本概念、应用、实现流程和评估方法。聚类是一种无监督学习技术,用于将数据分为相似的组,如K-means、层次聚类、DBSCAN和谱聚类。K-means算法通过迭代优化质心,将数据点分配到最近的簇,直至质心不再变化。模型评估包括误差平方和(SSE)、肘部方法(确定最佳簇数)和轮廓系数法(Silhouette Coefficient),以量化聚类的紧密度和分离度。应用场景涵盖用户画像、广告推荐和图像分割等。在Python的sklearn库中,可以使用KMeans API进行聚类操作。
|
JavaScript API
vue3+element实现一个公告面板
vue3+element实现一个公告面板
919 0
|
数据采集 数据挖掘 数据处理
DataFrame 的缺失值处理:填充、删除与插值
【5月更文挑战第19天】DataFrame数据处理中,面对缺失值问题,常用方法包括填充(如固定值、平均值)和删除。插值是一种有效手段,如线性插值适合时间序列数据。根据数据特性和分析目标,可组合使用多种方法,如先填充再插值。灵活应用这些策略能提升数据质量和分析准确性,为决策提供可靠支持。
716 2
|
存储 测试技术 Apache
高效管理JMeter中的Cookies:测试工程师的全面指南
Apache JMeter的Cookie管理器是性能测试中的关键工具,用于模拟用户会话和保持状态。本文档详细介绍了如何配置和使用Cookie管理器:添加HTTP Cookie Manager到测试计划,配置清除每次迭代Cookies的选项,以及设置登录和验证请求。此外,还讨论了验证、调试、进阶配置,如Cookie政策、跨域Cookies和正则表达式提取Cookie。通过掌握这些步骤,可以提升测试的准确性和效率。