当前位置: 首页 > news >正文

每日一题——最长公共前缀

题目

给你一个大小为 n 的字符串数组 strs ,其中包含n个字符串 , 编写一个函数来查找字符串数组中的最长公共前缀,返回这个公共前缀。

数据范围:0≤n≤5000, 0≤len(strsi)≤5000

进阶:空间复杂度 O(1),时间复杂度 O(n∗len)

示例1

输入:
["abca","abc","abca","abc","abcc"]
返回值:
"abc"

示例2

输入:
["abc"]
返回值:
"abc"

思路


以第一个字符串为基准,与其他字符串进行比较。从第一个字符开始,逐位比较,即可找出最长公共前缀。

解答代码


#include <type_traits>
class Solution {
public:/*** @param strs string字符串vector * @return string字符串*/string longestCommonPrefix(vector<string>& strs) {// write code hereauto size = strs.size();if (size == 0) {return "";} else if (size == 1) {return strs[0];}// 找出字符串的最小长度string::size_type min_str_size = strs[0].size();for (auto& str : strs) {min_str_size = min(min_str_size, str.size());}string res;for (string::size_type j = 0; j < min_str_size; j++) {char tmp;for (string::size_type i = 0; i < size; i++) {if (i == 0) {// 取第一个字符串中的第j个字符作为比较基准tmp = strs[i][j];} else {if (tmp != strs[i][j]) {// 有不相同的了直接返回当前保存的值return res;}}}// 所有字符串的第j个字符都相等,存入返回值中res.push_back(tmp);}return res;}
};
http://www.lryc.cn/news/119431.html

相关文章:

  • iOS开发-WebRTC本地直播高分辨率不显示画面问题
  • python项目virtualenv环境部署正式项目和后台运行实践
  • 平替 Docker - 玩转容器新利器 Podman Desktop (视频)
  • nodejs+vue+elementui招聘求职网站系统的设计与实现-173lo
  • 静态链接(7/13)
  • jvs-rules API数据源配置说明(含配置APIdemo视频)
  • 爬虫来介绍ChromeF12 谷歌开发者工具 -Network
  • [足式机器人]Part4 机械设计 Ch00/01 绪论+机器结构组成与连接 ——【课程笔记】
  • Android isLoggable定制属于自己的log
  • 【Spring Boot】构建RESTful服务 — 使用Swagger生成Web API文档
  • 【实战】 九、深入React 状态管理与Redux机制(五) —— React17+React Hook+TS4 最佳实践,仿 Jira 企业级项目(二十)
  • PHP傻瓜也能搭建自己框架
  • 为什么商业基础软件需要开源
  • 【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台
  • ABAP: SQL 多值查询
  • 分布式学习最佳实践:从分布式系统的特征开始
  • 第三章 图论 No.8最近公共祖先lca, tarjan与次小生成树
  • [Kubernetes]Kubeflow Pipelines - 基本介绍与安装方法
  • Sui网络的稳定性和高性能
  • RabbitMQ 安装教程
  • STM32F429IGT6使用CubeMX配置GPIO点亮LED灯
  • DOM的节点操作+事件高级+DOM事件流+事件对象
  • 云端剪切板,让你的数据同步无界
  • Location匹配与Rewrite重写
  • Docker源码阅读 - goland环境准备
  • 数据库信息速递 -- MariaDB 裁员后,前景不确定 (翻译)
  • 4.1 Windows终端安全
  • win10强制卸载奇安信天擎
  • npm常用命令
  • (一)创建型设计模式:4、原型模式(Prototype Pattern)