20190501-编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串...
题目描述
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
考点
- 根据列表中的字符串长度排序
- 两层for循环的使用,for|else的使用
算法1
从下标0开始,判断每一个字符串同一索引所对应的值,判断是否全部相同。直到遇到不全部相同的时候return。
由于提供的单词长度不同,应该以最小单词为基准进行比较,如["flower","flow","flight"]中应该以flow来和剩下的单词一一对比。
- 所有单词同一索引所对应的值相等,则更新最长公共前缀
- 有一个单词与其他单词同一索引所对应的值不相等,则返回最后更新的最长公共前缀
代码1
def longestCommonPrefix(strs):""":type strs: List[str]:rtype: str"""strs.sort(key =len)# 根据列表中的字符串长度排序if not strs:return ''result = ''#记录公共前缀for i in range(len(strs[0])):#以列表中长度最小的单词为基准进行遍历for j in strs:#遍历列表中的每个字符串if j[i] != strs[0][i]:#如果列表中的字符串的对应下标是否相同return resultelse:result += strs[0][i]#如果所有字符串下标都相同,更新最长公共前缀return result print(longestCommonPrefix([""]))
算法2
利用python的max()和min(),在Python里字符串是可以比较的,按照ascII值排,举例abb,aba,abac,最大为abb,最小为aba。所以只需要比较最大最小的公共前缀就是整个数组的公共前缀
代码2
def longestCommonPrefix(self, strs):""":type strs: List[str]:rtype: str"""s1 = min(strs)s2 = max(strs)for i,x in enumerate(s1):if x != s2[i]:return s2[:i]return s1
转载于:https://www.cnblogs.com/hyj691001/p/10799710.html
20190501-编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串...相关推荐
- LeetCode4_编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ““。(解决方案:横向扫描、 纵向扫描 、分治 二分查找 、秀儿操作之排序比较头尾)
题目 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow&q ...
- python编写自定义函数计算一维numpy数组中与指定目标数值最接近(距离最近)的数值(find closest value in numpy array to a certain value)
python编写自定义函数计算一维numpy数组中与指定目标数值最接近(距离最近)的数值(find closest value in numpy array to a certain value) 目 ...
- 请编写一个函数,接收两颗星星赤经和赤纬的角度作为参数,计算并返回这两颗星星所对弧的角度。
[问题描述] 给定两颗星星的赤经和赤纬的角度 (a1, d1)和(a2, d2) 它们所对弧的角度计算公式为: 赤经a1和a2是 -180o~ 180o 之间的角,a=a2-a1 赤纬d1和d2是 - ...
- 求行指针所指的字符串数组中长度最长的字符串所在的行下标
<程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p137 习题5 3.行指针ss所指字符串数组中共有M个字符串,且字符串长度<N.求ss所指字符串 ...
- 怎样设置一个函数C语言,C语言中怎样编写一个函数 如何在C语言中定义一个函数?...
如何在C语言中定义一个函数?小编很想在你面前流泪最后却还是选择装作打个哈欠 为什么小编怎么定义函数都不正确呢? 总是说小编 表达语法错误在main函数中 小编们可以在头文件与main函数之间定义,并编 ...
- 用Java编辑员工信息_编写一个函数来显示基于Oracle中特定部门的员工信息?
这些是我创建的表的列表,并为创建的表插入值: CREATE TABLE DEPARTMENT (DEPARTMENT_ID NUMBER PRIMARY KEY, DEPARTMENT_NAME VA ...
- JS编写一个函数,实现传入一个不定长度字符串,查找出重复次数前n名的字符并分别统计其次数
编写一个函数,实现传入一个不定长度字符串,查找出重复次数前n名的字符并分别统计其重复次数.写得好像比较复杂,大家有更好的方法欢迎留言指导,谢谢. function compare(string, n) ...
- 4.请编写一个函数void fun(char *tt,int pp[]),统计在tt字符串中“a”到“z”26个字母各自出现的次数,并依次放在pp所指数组中。
4.请编写一个函数void fun(char *tt,int pp[]),统计在tt字符串中"a"到"z"26个字母各自出现的次数,并依次放在pp所指数组中. ...
- C语言编程>第十一周 ⑤ 请编写一个函数,用来删除字符串中的所有空格。
例题:请编写一个函数,用来删除字符串中的所有空格. 例如,输入we l come,则输出为welcome. 请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句. ...
最新文章
- 凸显价值:全国CIO交流大会7月20-22日将于青海举办
- Android开发:第四日番外——Assets文件夹和RAW文件夹区别
- 所罗门王之梦(程序员羊皮卷读书笔记)
- VSS(2005)中如何强行签入文件
- 在Teams app代码中enable nullable
- Primefaces dataTable设置某个cell的样式问题
- 开启mongodb数据库命令行_【赵强老师】使用MongoDB的命令行工具:mongoshell
- Java中注解与反射的使用方法及场景,强行解释一波!
- iOS 8 新特性介绍
- 打造网红内容和资本哪个更重要
- 思想篇(1)--企业需要什么样的人才?
- Java1.8安装win10_java1.8环境配置+win10系统
- Django 系列博客(二)
- 3.6 tensorflow 中LSTM和GRU模块使用意境级讲解
- 计算机二级java难吗_计算机二级上机-计算机二级难吗?二级高级语言:分笔试和上机考试笔试90分钟, 爱问知识人...
- 必须收藏!Jboss下载(全版本秒下载!)
- 深度学习论文阅读目标检测篇(六)中英对照版:YOLOv3《 An Incremental Improvement》
- 项目xx方案文档格式规范模板
- WindowsCMD配置代理
- 从零开始学MATLAB(一)MATLAB基础知识