牛客题霸 [ 最长公共前缀] C++题解/答案

题目描述

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

题解:

原本想暴力做,直接多层循环套,发现并不用
注意本题,给出了多组字符串,求它们的最长公共前缀,这可怎么办?
因为是最长公共前缀,也就是所有字符串都有
我们先将所有字符串排序,越近的字符串最长公共前缀越多,反而越远就越少
所以我们可以直接将排序后的第一个字符串和最后一个字符串对比
因为这两个的公共前缀应该是最少的,如果一个字符串s是他俩的公共前缀,那相比也是其他的前缀了,这样我们就可以只对比两组就实验对比所有组情况
总结下:
就是将最不相同的两个对比找相同,那找到的结果肯定也是满足所有组的

代码:

class Solution {public:/*** * @param strs string字符串vector * @return string字符串*/string longestCommonPrefix(vector<string>& strs) {// write code hereif(strs.empty())return "";sort(strs.begin(),strs.end());string a=strs[0];string b=strs[strs.size()-1];int i;for(i=0;i<a.size();i++){if(a[i]!=b[i])break;}//if(i==a.size())return a;return a.substr(0,i);}
};

牛客题霸 [ 最长公共前缀] C++题解/答案相关推荐

  1. 牛客题霸 [最长公共子序列] C++题解/答案

    牛客题霸 [最长公共子序列] C++题解/答案 题目描述 给定两个字符串str1和str2,输出连个字符串的最长公共子序列.如过最长公共子序列为空,则输出-1. 题解: dp经典问题 代码: clas ...

  2. 牛客题霸 [最长公共子串]C++题解/答案

    牛客题霸 [最长公共子串]C++题解/答案 题目描述 给定两个字符串str1和str2,输出两个字符串的最长公共子串,如果最长公共子串为空,输出-1 题解: lcs模板 代码: class Solut ...

  3. 牛客题霸 [最长重复子串] C++题解/答案

    牛客题霸 [最长重复子串] C++题解/答案 题目描述 一个重复字符串是由两个相同的字符串首尾拼接而成,例如abcabc便是长度为6的一个重复字符串,而abcba则不存在重复字符串. 给定一个字符串, ...

  4. 牛客题霸 [ 最长递增子序列] C++题解/答案

    牛客题霸 [ 最长递增子序列] C++题解/答案 题目描述 给定数组arr,设长度为n,输出arr的最长递增子序列.(如果有多个答案,请输出其中字典序最小的) 题意: 直接暴力会超时 应该用二分+贪心 ...

  5. 牛客题霸 [容器盛水问题] C++题解/答案

    牛客题霸 [容器盛水问题] C++题解/答案 题目描述 给定一个整形数组arr,已知其中所有的值都是非负的,将这个数组看作一个容器,请返回容器能装多少水. 具体请参考样例解释 题解: 我们找出容器的左 ...

  6. 牛客题霸 [子数组最大乘积] C++题解/答案

    牛客题霸 [子数组最大乘积] C++题解/答案 题目描述 给定一个double类型的数组arr,其中的元素可正可负可0,返回子数组累乘的最大乘积. 题解: 同时记录最大值和最小值,为什么?因为给的元素 ...

  7. 牛客题霸 [滑动窗口的最大值] C++题解/答案

    牛客题霸 [滑动窗口的最大值] C++题解/答案 题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一 ...

  8. 牛客题霸 [ 集合的所有子集] C++题解/答案

    牛客题霸 [ 集合的所有子集] C++题解/答案 题目描述 现在有一个没有重复元素的整数集合S,求S的所有子集 注意: 你给出的子集中的元素必须按升序排列 给出的解集中不能出现重复的元素 题解: 先s ...

  9. 牛客题霸 [ 最小的K个数] C++题解/答案

    牛客题霸 [ 最小的K个数] C++题解/答案 题目描述 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4. 题解: 如果有n&l ...

最新文章

  1. collections模块介绍
  2. 记录我对Padding Oracle攻击的分析和思考之抄写
  3. SpringBoot 中实现跨域的5种方式
  4. Nuxt项目支持import写法的最新解决方案
  5. Redis master和slave是如何实现数据同步的
  6. 你想要的宏基因组-微生物组知识全在这(2020.03)
  7. 巧妙帮你保存个人隐私 WinRAR加密全攻略
  8. echarts实现航线图,航运图
  9. 动手学深度学习之数据预处理
  10. Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
  11. 手机中的劳力士:HTC是执迷不悟还是不悔?
  12. 戴尔服务器无限重启6,戴尔笔记本无限重启具体解决办法
  13. Win10截图快捷键教程
  14. Jsp中9大内建对象
  15. 2019年深度学习自然语言处理最新十大发展趋势
  16. C#编程-39:字符和字符串笔记
  17. 如何判断一个数据是NaN
  18. Excel规划求解Solver:三种方法的区别
  19. UE4 自建基础玩家时重力的设置
  20. 更改CentOS上的默认SSH端口号的方法步骤

热门文章

  1. 13个圆可以画什么?数学与艺术完美邂逅!原来数学也可以这么美
  2. 全世界的狗都没有“生殖隔离” | 今日趣图
  3. 全国二级计算机理论知识,2021年度全国计算机等级考试二级MSOffice常考知识点基础知识部分.doc...
  4. html语言简单,简单的html语言计算器
  5. unity 坐标系转换_Unity的几种坐标系及相互转换
  6. linux实验目的能学会什么意思,Linux实验.doc
  7. java读取图片缩略方法_java 图片缩略图的两种方法
  8. 定义一个1 1=11 用c语言什么输出来,问题 A: C语言11.1(示例代码)
  9. java读取文件跳过_在Java中读取文本文件-为什么跳过行?
  10. ie插件获取dom_读书笔记《DOM编程艺术》DOM