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

牛客题霸 [ 最长公共前缀] 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);}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/318913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pkusc2021游记

文章目录Day 0Day 1Day 2Day 3Day 0 车&#xff0c;公交&#xff0c;飞机&#xff0c;公交&#xff0c;车 坐了半天的交通终于到了&#xff0c;整个人都坐的晕乎乎的&#xff0c;然后看了下学校位置吃了饭就没事回酒店了。 Day 1 早上是报道&#xff0c;九点才开始&#xf…

codeforces82 D. Two out of Three(记忆化搜索)

D. Two out of Three 设fi,jf_{i,j}fi,j​表示为当前队伍开头的两个人是i,ji,ji,j时最小代价&#xff0c;分析可知本轮可以选择的方案有 i,ji,ji,j两人&#xff0c;fi,jaiajfj1,j2f_{i,j}a_ia_jf_{j1,j2}fi,j​ai​aj​fj1,j2​i,j1i,j1i,j1两人&#xff0c;fi,jaiaj1fj,j2f_{…

DevOps/.NET 微服务 秋季分享会领优惠门票

参与活动【活动&#xff08;深圳&#xff09;】DevOps/.NET 微服务 秋季分享会&#xff0c;优惠门票等你来领 的以下10位同学微信联系我: geffzhang 领票

bzoj3729-Gty的游戏【Splay,博弈论】

正题 题目链接:https://darkbzoj.tk/problem/3729 题目大意 给出nnn个点的一棵树&#xff0c;第iii个节点上有aia_iai​个石子&#xff0c;然后每次可以选择不超过LLL个石子移动到父节点处。要求支持操作 以一个节点的子树进行博弈是否有先手必胜修改一个节点的石子个数插入…

牛客题霸 [ 求路径] C++题解/答案

牛客题霸 [ 求路径] C题解/答案 题目描述 一个机器人在mn大小的地图的左上角&#xff08;起点&#xff0c;下图中的标记“start"的位置&#xff09;。 机器人每次向下或向右移动。机器人要到达地图的右下角。&#xff08;终点&#xff0c;下图中的标记“Finish"的位…

【.NET Core项目实战-统一认证平台】第七章 网关篇-自定义客户端限流

上篇文章我介绍了如何在网关上增加自定义客户端授权功能&#xff0c;从设计到编码实现&#xff0c;一步一步详细讲解&#xff0c;相信大家也掌握了自定义中间件的开发技巧了&#xff0c;本篇我们将介绍如何实现自定义客户端的限流功能&#xff0c;来进一步完善网关的基础功能。…

codeforces855 C. Helga Hufflepuff‘s Cup(树形dp)

C. Helga Hufflepuff’s Cup 比较经典的树形dp套路。由于题目限制某类点的数量&#xff0c;因而状态需要记录一下子树中该特殊点的数量。 设计dp&#xff1a; fu,j,kf_{u,j,k}fu,j,k​以uuu为根的子树中&#xff0c;选了jjj个特殊值&#xff08;点权K&#xff09;&#xff0c…

牛客题霸 [链表中倒数第k个结点] C++题解/答案

链表中倒数第k个结点 题解&#xff1a; 我们把链表存两份&#xff0c;让其中一个先走k个节点&#xff0c;然后两个链表一起走&#xff0c;直到第一个链表到头&#xff0c;因为两个相差k个节点&#xff0c;所以第二个链表停的位置就是倒数第k个 代码&#xff1a; /* struct …

P3343-[ZJOI2015]地震后的幻想乡【dp,数学期望】

正题 题目链接:https://www.luogu.com.cn/problem/P3343 题目大意 给出nnn个点的一张无向图&#xff0c;每条边被修复的时间是[0,1][0,1][0,1]的一个随机实数&#xff0c;求这张图联通期望时间。 1≤n≤10,m≤n(n−1)21\leq n\leq 10,m\leq \frac{n(n-1)}{2}1≤n≤10,m≤2n(n…

codeforces229 D. Towers(dp+贪心)

D. Towers 设计dp&#xff1a; fif_ifi​表示考虑到iii时满足题意的最小代价。 考虑最后一步&#xff0c;也就是最后一组合并即fifj{aj1⋯ai}f_if_j\{a_{j1}\dotsa_i\}fi​fj​{aj1​⋯ai​} 在满足最优条件的同时让当前aia_iai​最小&#xff08;贪心&#xff09; #include&…

1.14 日志(递推ybtoj)

明天要模拟&#xff0c;n年未碰电脑&#xff0c;先不学新的了。。。。 1.错排问题 dp最棒了 code: #include #include #include #include #include using namespace std; const int MINT_MAX; long long f[25][25]{ };//f[i][j]表示有i个数&#xff0c;其中j个数可以随便填 …

牛客题霸 [买卖股票的最好时机] C++题解/答案

买卖股票的最好时机 题解&#xff1a; 设两个变量&#xff0c;一个为minn&#xff0c;一个为maxx 当遇到比当前minn还小的价钱时&#xff0c;就更新minn 当与minn大时&#xff0c;就计算如果这个价卖出&#xff0c;赚多少钱&#xff0c;maxx不断更新取最大值 这样&#xff0c…

P7600-[APIO2021]封闭道路【堆,dp】

正题 题目链接:https://www.luogu.com.cn/problem/P7600 题目大意 给出nnn个点的一棵树&#xff0c;边有边权&#xff0c;对于每个kkk求去掉最小边权和的点使得每个点的度数都不超过kkk。 1≤n≤1051\leq n\leq 10^51≤n≤105 题目大意 APIO遇到的原题&#xff0c;和CF1119F…

codeforces1497 D. Geniue(dp+图论)

D. Geniue Frozen_Guardian题解 Implicit_总结 首先把此序列看作一个完全图&#xff0c;然后按照边权从小到大的顺序枚举边。 如何按照边权从小到大枚举边? 下面考虑形如边(a,b)(a,b)(a,b)都默认a<ba<ba<b。 任意考虑两条边(a,b)(a,b)(a,b)和(c,d)(c,d)(c,d)&…

1.16 模拟(排序)

# 总结 845分 我好菜啊qwq 第九题&#xff08;站队&#xff09;出了bug。。。 没有考虑到中位数会存在重叠错误问题&#xff08;直接卡掉5个点就离谱&#xff09; 后来发现其实第九题暴搜也能过。。。&#xff08;要是IOI赛制就能ak了&#xff09; 前面的水题不贴了 # 9.士兵站…

牛客题霸 [判断一个链表是否为回文结构] C++题解/答案

判断一个链表是否为回文结构 题目描述 给定一个链表&#xff0c;请判断该链表是否为回文结构。 题解&#xff1a; 直接将链表内的数据存入string中&#xff0c;然后从两端开始向中间判断即可 代码&#xff1a; /*** struct ListNode {* int val;* struct ListNode *next;…

HDU6736 F.Forest Program(dfs找环)

F.Forest Program 千摆渡题解 找环可以使用dfs一遍求出。 方法为&#xff1a;vis数组设置为三种状态&#xff0c;0表示未被访问过。1表示正在被访问&#xff0c;即边指向的结点是当前结点在dfs树上的祖先节点。2表示访问完毕。同时dfs的同时记录每一个结点的先驱pre。如果边访…

P7324-[WC2021]表达式求值【dp】

正题 题目链接:https://www.luogu.com.cn/problem/P7324 题目大意 给一个只包含mmm个值的表达式&#xff0c;<<<表前后取最小值&#xff0c;>>>表前后取最大&#xff0c;???可以是小于也可以是大于。 然后nnn次给出这mmm个值&#xff0c;所有方案下表达…

平面分割 题解(1.16 递推模拟)

平面分割 代码一行&#xff0c;解析一箱~~ 解析 计f[i]&#xff1a;从1到i累加之和 先假设最好情况&#xff0c;p2&#xff1b; 此时第一条会增加1个 第二条与第一条相交&#xff0c;再加2个 第三条与前2条相交&#xff0c;再加3个 … 故n条时共增加f[n]个&#xff0c;共f[n]…

牛客题霸 [二叉树的最大深度]C++题解/答案

二叉树的最大深度 题目描述 求给定二叉树的最大深度&#xff0c; 最大深度是指树的根结点到最远叶子结点的最长路径上结点的数量。 题解&#xff1a; 众所周知&#xff0c;树有左子树和右子树&#xff0c;每向下一层&#xff0c;深度就1, 所以我们就不断递归&#xff0c;看…