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

【最长公共前缀】

在这里插入图片描述

1. 输入检查
if (n == 0) {return s;  // 空数组直接返回空字符串
}
  • 作用:处理输入为空数组的边界情况,避免后续访问 strs[0] 越界。

2. 逐字符比较
for (int i = 0; i < strs[0].size(); i++) {  // 以第一个字符串为基准for (int j = 0; j < n - 1; j++) {      // 比较其他字符串的第i个字符if (strs[j][i] != strs[j + 1][i]) {return s;  // 发现不匹配,立即返回当前公共前缀}}s += strs[0][i];  // 所有字符串的第i个字符相同,加入公共前缀
}
  • 逻辑
    • 外层循环遍历第一个字符串的每个字符(假设它是公共前缀的基准)。
    • 内层循环检查其他字符串的第 i 个字符是否与第一个字符串的第 i 个字符相同。
      • 如果发现不匹配,直接返回当前已找到的公共前缀 s
      • 如果所有字符串的第 i 个字符均相同,将该字符加入 s
class Solution {
public:string longestCommonPrefix(vector<string>& strs) {int n=strs.size();string s;if(n==0){return s;}for(int i=0;i<strs[0].size();i++){for(int j=0;j<n-1;j++){ if(strs[j][i]!=strs[j+1][i]){return s;}}s+=strs[0][i];}return s;}
};
http://www.dtcms.com/a/313604.html

相关文章:

  • DMDRS产品概述和安装部署
  • Kaggle 竞赛入门指南
  • Pygame如何制作小游戏
  • vllm0.8.5:自定义聊天模板qwen_nonthinking.jinja,从根本上避免模型输出<think>标签
  • Docker环境离线安装指南
  • C++与Go的匿名函数编程区别对比
  • SPI入门(基于ESP-IDF-v5.4.1)
  • accept4系统调用及示例
  • ELECTRICAL靶场
  • 检索召回率优化探究三:基于LangChain0.3集成Milvu2.5向量数据库构建的智能问答系统
  • 思途JSP学习 0802(项目完整流程)
  • Fay数字人如何使用GPT-SOVITS进行TTS转换以及遇到的一些问题
  • 写作路上的迷茫与突破
  • 推荐系统学习笔记(八)其他召回通道
  • ssh服务器端口和本地端口映射
  • 基于Python 批量导入实体与关系到 Neo4j 数据库的完整实践
  • jconsole与jvisualvm监控
  • 数据结构基础 - 平衡二叉树
  • async/await和Promise之间的关系是什么?(补充)
  • NSA稀疏注意力深度解析:DeepSeek如何将Transformer复杂度从O(N²)降至线性,实现9倍训练加速
  • 能表示旋转的矩阵是一个流形吗?
  • 【大模型篇】:GPT-Llama-Qwen-Deepseek
  • 数据结构重点内容
  • Go语言实战案例:多协程并发下载网页内容
  • 《 ThreadLocal 工作机制深度解析:高并发场景的利与弊》
  • Mysql深入学习:InnoDB执行引擎篇
  • C++ : 反向迭代器的模拟实现
  • 【图像处理基石】如何使用deepseek进行图像质量的分析?
  • vllm0.8.5:思维链(Chain-of-Thought, CoT)微调模型的输出结果包括</think>,提供一种关闭思考过程的方法
  • MCP协议:CAD地图应用的AI智能化解决方案(唯杰地图MCP)