news 2026/4/23 12:22:25

【剑斩OFFER】算法的暴力美学——最长公共前缀

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【剑斩OFFER】算法的暴力美学——最长公共前缀


一、题目描述

二、算法原理

思路:先找前两个字符串的公共前缀,再拿着这个公共前缀的,去跟剩余的字符串比较,然后不断的更新这个公共前缀:

三、代码实现

第一种解法:

class Solution { public: string longestCommonPrefix(vector<string>& strs) { if(strs.size() < 2) return strs[0]; string same; string s1 = strs[0],s2 = strs[1]; for(int i = 0; i < min(s1.size(),s2.size()); i++)//找到第一个字符和第二个字符串的公共字符串 { if(s1[i] == s2[i]) same += s1[i]; else break; } for(int i = 2; i < strs.size(); i++)//拿着公共字符串去和其他字符串进行比较 { string& s = strs[i]; string tmp; for(int j = 0; j < min(same.size(),s.size()); j++) { if(s[j] == same[j]) tmp += s[j]; else break; } same = tmp;//更新公共字符串 if(same.empty()) return ""; } return same; } };

第二种解法:

class Solution { public: string longestCommonPrefix(vector<string>& strs) { string same;//公共前缀 for(int i = 0; i < strs[0].size(); i++) { char ch = strs[0][i]; for(int j = 0; j < strs.size();j++) { char ch1 = strs[j][i]; if(ch1 != ch) return same;//找到公共前缀的极限,直接返回 same ,因为后面的都不是公共前缀 } same += ch; } return same; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 10:48:36

Python全栈项目--基于Django的项目管理系统

项目概述 项目管理系统是企业日常运营中不可或缺的工具&#xff0c;它能够帮助团队高效地组织、跟踪和管理各类项目任务。本文将介绍如何使用Django框架构建一个功能完善的项目管理系统&#xff0c;涵盖从需求分析到部署的完整开发流程。 技术栈选型 后端技术 Django 4.2: …

作者头像 李华
网站建设 2026/4/23 10:49:48

深度学习毕设选题推荐:基于python深度学习的手势识别数字机器学习

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/22 20:28:23

彻底搞懂 Event Loop!一次性吃透宏任务、微任务、执行顺序

Event Loop&#xff08;事件循环&#xff09;是 JavaScript 执行机制里的核心知识点。不管是前端面试还是日常开发&#xff0c;只要涉及异步操作&#xff0c;就绕不开它。 这篇文章不玩高深术语&#xff0c;用一套真实示例&#xff0c;带你搞懂&#xff1a; 同步任务、宏任务、…

作者头像 李华
网站建设 2026/4/23 12:21:48

vllm笔记(1):最基础的离线推理

vllm是一个知名的推理框架&#xff0c;也是开始尝试接触vllm了。 本代码来源https://github.com/vllm-project/vllm/blob/main/examples/offline_inference/basic/basic.py #LLM 是用于运行 vLLM 引擎离线推理的主类。 #SamplingParams 指定了采样过程的参数。 from vllm imp…

作者头像 李华
网站建设 2026/4/18 21:57:43

【课程设计/毕业设计】深度学习基于python-CNN的国内常见鱼类分类识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华