leetcode14最长公共前缀

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        if(strs.size()==) return "";
        if(strs.size()==) return strs[];
        string com_str=strs[];
        for(auto i=strs.begin();i<strs.end();i++)
        {
            while((*i).find(com_str,)!=)
            {
                com_str=com_str.substr(,com_str.size()-);
                if(com_str.size()==) return "";
            }
        }
         return com_str;
    }
};

算法二:水平扫描
算法
想象数组的末尾有一个非常短的字符串,使用上述方法依旧会进行 SS 次比较。优化这类情况的一种方法就是水平扫描。我们从前往后枚举字符串的每一列,先比较每个字符串相同列上的字符(即不同字符串相同下标的字符)然后再进行对下一列的比较。
//水平扫描
class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        if(strs.size()==) return "";
        if(strs.size()==) return strs[];
        string com_str=strs[];
        for(int i=;i<com_str.size();i++)
        {
           char c=com_str[i];
           for(int j=;j<strs.size();j++)
           {
               if(strs[j].size()==i||strs[j][i]!=c)
                    return com_str.substr(,i);
           }
        }
         return com_str;
    }
};
leetcode14最长公共前缀的更多相关文章
- leetcode-14最长公共前缀
		leetcode-14最长公共前缀 题目 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower& ... 
- Leetcode13. 罗马数字转整数Leetcode14. 最长公共前缀Leetcode15. 三数之和Leetcode16. 最接近的三数之和Leetcode17. 电话号码的字母组合
		> 简洁易懂讲清原理,讲不清你来打我~ 输入字符串,输出对应整数 
		14. 最长公共前缀 14. Longest Common Prefix 题目描述 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". Lee ... 
- [转][LeetCode]Longest Common Prefix ——求字符串的最长公共前缀
		题记: 这道题不难但是很有意思,有两种解题思路,可以说一种是横向扫描,一种是纵向扫描. 横向扫描:遍历所有字符串,每次跟当前得出的最长公共前缀串进行对比,不断修正,最后得出最长公共前缀串. 纵向扫描: ... 
- lintcode :最长公共前缀
		题目 最长公共前缀 给k个字符串,求出他们的最长公共前缀(LCP) 样例 在 "ABCD" "ABEF" 和 "ACEF" 中, LCP ... 
随机推荐
- github README.md创建不了
			在项目主页上,点击‘Add a README’按钮,如下图: 进入编辑界面,编辑好内容后,提交按钮的状态为灰化不可点击,如下图: 不知道为什么会出现这种情况,但是我无意中点击了Ctrl+Enter竟然 ... 
- 字节跳动笔试题:1. 小于N的质数数量;2. 逆时针二维数组;3. 判断a+b>c
			1. 小于N的质数数量 import java.util.Scanner; /** * 计算小于N的质数数量 * @author Turing * */ public class Main4 { pu ... 
- 数据仓库002 - 复习Linux shell命令 - echo  bash_profile bashrc which命令的理解 alias history
			1.echo 打印 . echo 的作用是在屏幕上打印输出内容,与文件和持久化可以理解为没有丝毫关联.如:在屏幕上打印“ echo 的作用是打印文字! ” 实例1:输出系统的环境变量名称 $PATH ... 
- 第二十一节:Asp.Net Core MVC和WebApi路由规则的总结和对比
			一. Core Mvc 1.传统路由 Core MVC中,默认会在 Startup类→Configure方法→UseMvc方法中,会有默认路由:routes.MapRoute("defaul ... 
- 机器学习(八)--------支持向量机 (Support Vector Machines)
			与逻辑回归和神经网络相比,支持向量机或者简称 SVM,更为强大. 人们有时将支持向量机看作是大间距分类器. 这是我的支持向量机模型代价函数 这样将得到一个更好的决策边界 理解支持向量机模型的做法,即努 ... 
- Zookeeper的安装与配置、使用
			Dubbo的介绍 如果表现层和服务层是不同的工程,然而表现层又要调用服务层的服务,肯定不能像之前那样,表现层和服务层在一个项目时,只需把服务层的Java类注入到表现层所需要的类中即可,但现在,表现层和 ... 
- 【01】Nginx:编译安装/动态添加模块
			写在前面的话 说起 Nginx,别说运维,就是很多开发人员也很熟悉,毕竟如今已经 2019 年了,Apache 更多的要么成为了历史,要么成为了历史残留. 我们在提及 Nginx 的时候,一直在强调他 ... 
- select 获取option中其他的属性的值
			<select name="tag_keys[]" id="category_type" required> <option value=&q ... 
- 一张图搞定 .NET Framework, .NET Core 和 .NET Standard 的区别
			最近开始研究.NET Core,有张图一看就能明白他们之前的关系. 上图己经能够说明.NET Framework和.NET Core其实是实现了 .NET Standard相关的东西,或者说Frame ... 
- C#调用Activex中串口电子秤的数据,并将电子秤的数据显示到前端页面
			大二的一个项目需要用到Activex技术将读取到串口中的数据在后台获取到,并将串口的数据写入数据库,这个过程需要在后台使用C#调用Activex控件已经使用的方法,然后在前端通过JavaScript进 ... 
