学渣的刷题之旅 leetcode刷题 14.最长公共前缀

2023-11-17

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

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

输入: [“flower”,“flow”,“flight”]
输出: “fl”
示例 2:

输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。

说明:
所有输入只包含小写字母 a-z 。

我的c++代码

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        int strsize=strs.size();
        if(strsize==0)
            return "";
        string result="";
        sort(strs.begin(),strs.end());//数组从小到大排序
        int size=strs[0].length();
        for(int i=0;i<size;i++){
            char tmp=strs[0][i];
            for(int j=1;j<strsize;j++){
                if(tmp!=strs[j][i])
                    return result;
            }
            result=result+tmp;
        }
        return result;
    }
};

题目还算简单,看了一个耗时比我短的示例,人家的思路是取出第一个string为tmp,与vector中的进行对比,如果不一样就使tmp为原下标为0到(size-2)的值。

看完思路后我实现了一下:

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        int strsize=strs.size();
        if(strsize==0)
            return "";
        string tmp=strs[0];
        for(int i=1;i<strsize;i++){
        	//这个循环其实一直在i=1时进行,除非找到了公共前缀
            while(strs[i].find(tmp,0)!=0){
                tmp=tmp.substr(0,tmp.size()-1);
                if(tmp=="")
                    return "";
            }
            
        }
        return tmp;
    }
};

实现后发现用时和内存消耗差不多,但是代码和别人一样的呀
emmm 后台机制感觉有点问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学渣的刷题之旅 leetcode刷题 14.最长公共前缀 的相关文章

随机推荐

  • Python中的三器一闭(详细版)

    python中的三器一闭 迭代器 什么是迭代 什么是可迭代对象 判断数据是否可迭代 什么是迭代器 迭代器的本质 使用迭代器取数据 自定义迭代器 生成器 创建生产器的方法 关键字yield next和send 装饰器 装饰器的功能 定义装饰器
  • 通过双层负载均衡实现HTTPS代理的高并发处理和容错能力

    在互联网应用中 HTTPS代理服务器是承担用户请求的重要角色 当网站面临高并发请求时 单一的服务器可能无法满足需求 会导致性能下降和容错能力不足 为了解决这个问题 我们可以通过双层负载均衡技术来实现高并发处理和容错能力的提升 下面 让我们一
  • VMware16安装虚拟机遇到的问题

    摘要 前面提到自己安装环境为CPU Intel Core i5 12600K VMware 版本 VMware Workstation 16 Pro 16 0 0 build 16894299 创建虚拟机的时候windwos 系列的win7
  • GVM(openVAS)中scan configs为空的问题解决

    一 主要问题 由于kali2021的版本不自带openVAS 在kali2021中安装gvm 原openVAS 安装完成后检查配置 gvm check setup 没有问题 却在打开web控制页面后创建任务失败 报错 Failed to f
  • ssd颗粒查看工具_贴吧机佬强烈推荐的游戏SSD?西数蓝盘3D M.2 500G实测

    现在的SSD有多 白菜 打开电商网站看一下 各种国产甚至是知名电脑厂商的SSD只要几毛钱1GB 存储界的大品牌也有爆款型号来到了1元1GB左右 虽然以上说的都是2 5寸SSD 不是高性能产品 不过这些都很适合老主机升级 或者系统盘容量不够用
  • selenium_获取京东商品价格

    import time from selenium webdriver chrome options import Options from selenium webdriver import Chrome from selenium we
  • Pentaho Report Designer 入门教程(三)

    Pentaho Report Designer 入门教程 三 采用Pentaho Report Designer5 1版本 也是最新的版本 一 安装和介绍 介绍部分内容略 首先安装jdk 并配置java相关环境变量 下载pentaho re
  • 服务器简要维护,服务器维护简要流程

    1 服务器环境梳理 对于专业级别的服务器维护管理工作 环境梳理是第一步 清晰完整的统计出每台服务器的具体型号配置以及安装的各类软件 系统信息 准确全面的记录下服务器的使用数据 同时给每台设备打上资产标签 让您对所有服务器信息一目了然 后续服
  • U盘打不开或者不显示

    U盘打不开修复方法和工具 我们最为常见的情况如下 插上U盘或移动硬盘后 磁盘是显示的 但就是不能显示磁盘的所用和总空间 如下图 双击打开该磁盘后 提示是否将其格式化 如果格式化后就肯定能打开了 但是你的数据就不见了 有时双击打开U盘或移动硬
  • GFS chunk块大小为什么选择64M

    GFS chunk块大小为什么选择64M 优点 减少master存储的元数据信息 因为元数据要放到内存以提供快速访问 如果太小元数据就会太多 减少客户端与master的交互次数 客户端可以与master保持较长的连接 不足 chunk si
  • maven项目引入本地jar包,打war包无法包含本地jar的解决方法

    参照的以下文章 直接在 maven war plugin 插件中进行设置 指定webResources https blog csdn net whhmkj article details 89671713
  • python反转单链表

    原始单链表 反转后单链表 思路 对于每个节点来说 把她的下一个节点 改为他的上一个节点 然后把下一个节点继续变换 建两个临时变量 上一个节点pred 下一个节点next 初始化为None 第1步 开始计算节点1 当前节点为1 1 next为
  • Interceptor拦截器的使用

    1 创建配置类 Configuration public class WebConfig implements WebMvcConfigurer Autowired private AuthInterceptor authIntercept
  • 51单片机按键控制数码管0~9_单片机电子时钟的设计

    单片机电子时钟的设计 摘 要 单片机自20世纪70年代问世以来 以其极高的性能价格比 受到人们的重视和关注 应用很广 发展很快 单片机体积小 重量轻 抗干扰能力强 环境要求不高 价格低廉 可靠性高 灵活性好 开发较为容易 由于具有上述优点
  • Qt实现引导界面UITour

    介绍 最近做了一款键鼠自动化 想第一次安装打开后搞一个引导界面 找了好多资料没啥参考 偶然发现qt有引导界面如下图 Qt整挺好 但是未找到源码 真的不想手撸 源码找到了但是Qt整起来太复杂 没法拿来直接用 还是得撸 地地址 下图是仿照qt实
  • sql行转列三个方法

    1 行转列sum if case when 由多行变一行 group by聚合 由一列变多列 衍生提前 select uid sum if course 语文 score NULL as 语文 sum if course 数学 score
  • [网络安全自学篇] 八十八.基于机器学习的恶意代码检测技术详解

    这是作者网络安全自学教程系列 主要是关于安全工具和实践操作的在线笔记 特分享出来与博友们学习 希望您喜欢 一起进步 前文分享了传统的恶意代码检测技术 包括恶意代码检测的对象和策略 特征值检测技术 校验和检测技术 启发式扫描技术 虚拟机检测技
  • 服务器网站iis如何关闭,IIS7如何关闭WebDAV扩展服务

    在上一篇文章中 介绍了开启WebDAV扩展服务的危害性 必须关闭 不过那篇文章是针对IIS6 0的配置 对于IIS7来说 道理也是一样的 一般网站无需用到WebDAV扩展服务 强烈建议关闭 那么IIS7如何关闭WebDAV扩展服务呢 其实方
  • element-plus Vue 3.0 Beta来了

    GitHub地址 ElementUi Beta版本文档 又要秃头一波了
  • 学渣的刷题之旅 leetcode刷题 14.最长公共前缀

    编写一个函数来查找字符串数组中的最长公共前缀 如果不存在公共前缀 返回空字符串 输入 flower flow flight 输出 fl 示例 2 输入 dog racecar car 输出 解释 输入不存在公共前缀 说明 所有输入只包含小写