日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

20190501-编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串...

發布時間:2023/12/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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-编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串...的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。