news 2026/6/10 17:08:57

【剑斩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/5/21 22:57:19

AI跨文化陪练系统:用技术破解“语言通而心意阻”

和海外客户谈判时&#xff0c;一句“再考虑”被误解为拒绝&#xff1b;向异国朋友问候&#xff0c;却因语气不当显得冒犯——这种“语言过关、文化翻车”的场景&#xff0c;正是AI跨文化能力陪练系统要解决的核心问题。它不止是翻译工具&#xff0c;更是靠技术复刻真实跨文化场…

作者头像 李华
网站建设 2026/6/10 13:13:41

AI智能戒指问世,可录制会议并生成转录

智能戒指通常用于追踪健康和健身数据&#xff0c;但如果你的戒指还能录制工作会议会怎样&#xff1f;在CES 2026展会上&#xff0c;Vocci AI推出的智能戒指外观与普通智能戒指无异&#xff0c;但其设计目标是融入职业生活而非个人生活。值得注意的是&#xff0c;Vocci戒指并非始…

作者头像 李华
网站建设 2026/6/10 12:02:35

【计算机毕业设计案例】基于python-CNN的常见鱼类分类识别

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

作者头像 李华
网站建设 2026/6/8 23:24:48

a标签中的javascript:;是什么

a标签中的 javascript:; 是什么意思&#xff1f; 在 HTML 中&#xff0c;你经常会看到这样的代码&#xff1a; <a href"javascript:;">点击我</a>或者 <a href"javascript:void(0);">点击我</a>这里的 javascript:; 是一种伪协…

作者头像 李华