連三碼相同的最大值 Leetcode #2264 Largest 3-SameDigit Num in String

閱讀時間約 3 分鐘

題目敘述

題目會給我們一個字串,要求我們連三碼相同的數字,最大值是多少?

例如 給定輸入="1111222555333",最大值是555


如果無解,則返回空字串""

英文版的題目敘述在這裡


測試範例

Example 1:

Input: num = "6777133339"
Output: "777"
Explanation: There are two distinct good integers: "777" and "333".
"777" is the largest, so we return "777".

Example 2:

Input: num = "2300019"
Output: "000"
Explanation: "000" is the only good integer.

Example 3:

Input: num = "42352338"
Output: ""
Explanation: No substring of length 3 consists of only one unique digit. Therefore, there are no good integers.

約束條件

Constraints:

  • 3 <= num.length <= 1000
  • num only consists of digits.

演算法

依照題意,從左到右掃描,紀錄連續三碼相同的字元如果比之前的還大,就更新為最大值

實作上要留意的就是:

  1. 迭代的下標,小心不要超出界外。
  2. 題目給的輸入是字串,我們計算過程中會轉成int整數型別,最後輸出答案時,記得轉換回字串的形式

程式碼

class Solution(object):
 def largestGoodInteger(self, num):
  
  largest = -1
  
  for i in range(2, len(num)):

   if num[i] == num[i-1] and num[i-1] == num[i-2]:
    cur_digit = int(num[i])
    largest = max(largest, cur_digit)

  if largest == -1:
   return ""

  # Largest 3 same digit number in terms of string
  return str(largest) * 3

複雜度分析

時間複雜度: O(n)

線性掃描,從右到左掃描每個字元,總共耗時O(n)


空間複雜度: O(1)

所使用到的都是固定尺寸的臨時變數,佔用空間為常數級別O(1)


Reference:

[1] Python O(n) by iteration [w/ Comment] - Largest 3-Same-Digit Number in String - LeetCode

86會員
425內容數
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
留言0
查看全部
發表第一個留言支持創作者!
題目敘述 題目會給我們一張Activity資料表,裡面分別有user_id、 session_id、activity_date 、activity_type等欄位。 要求我們列出所有過去30天的活躍使用者。 活躍使用者的定義為2019-07-27包含這天,往前三十天的區間內,至少有過一次活動紀錄
題目敘述 題目會給我們一張World資料表,裡面分別有name、 continent、area、population 、gdp等欄位,其中name 是主鍵Primary Key。 要求我們列出所有大型國家,大型國家的定義是 人口大於等於兩千五百萬人 或者 土地面積大於等於三百萬平方公里。 輸出順
題目敘述 題目會給我們一張Cinema資料表,裡面分別有id、movie、description, rating 等欄位,其中id 是主鍵Primary Key。 要求我們列出所有推薦人ID為奇數,而且不無聊的電影,印出時依照電影rating評分從高到低降序排列。 Table: Cinema
題目敘述 題目會給我們一張Customer資料表,裡面分別有id、name、referee_id 等欄位,其中id 是主鍵Primary Key。 要求我們列出所有推薦人ID referee_id不等於2的顧客,印出順序不拘。
題目敘述 題目會給我們一個整數,要求我們計算出這個整數的二進位表示法裡面,有幾個bit1? 例如 5 = 二進位的 101 => 有2個 bit1,答案為2 英文版的題目敘述在這裡
題目會給我們一張Products資料表,裡面分別有product_id、low_fats、recyclable等欄位,其中product_id 是主鍵Primary Key。 要求我們列出所有的可回收 且 低脂產品的product_id,順序不拘。
題目敘述 題目會給我們一張Activity資料表,裡面分別有user_id、 session_id、activity_date 、activity_type等欄位。 要求我們列出所有過去30天的活躍使用者。 活躍使用者的定義為2019-07-27包含這天,往前三十天的區間內,至少有過一次活動紀錄
題目敘述 題目會給我們一張World資料表,裡面分別有name、 continent、area、population 、gdp等欄位,其中name 是主鍵Primary Key。 要求我們列出所有大型國家,大型國家的定義是 人口大於等於兩千五百萬人 或者 土地面積大於等於三百萬平方公里。 輸出順
題目敘述 題目會給我們一張Cinema資料表,裡面分別有id、movie、description, rating 等欄位,其中id 是主鍵Primary Key。 要求我們列出所有推薦人ID為奇數,而且不無聊的電影,印出時依照電影rating評分從高到低降序排列。 Table: Cinema
題目敘述 題目會給我們一張Customer資料表,裡面分別有id、name、referee_id 等欄位,其中id 是主鍵Primary Key。 要求我們列出所有推薦人ID referee_id不等於2的顧客,印出順序不拘。
題目敘述 題目會給我們一個整數,要求我們計算出這個整數的二進位表示法裡面,有幾個bit1? 例如 5 = 二進位的 101 => 有2個 bit1,答案為2 英文版的題目敘述在這裡
題目會給我們一張Products資料表,裡面分別有product_id、low_fats、recyclable等欄位,其中product_id 是主鍵Primary Key。 要求我們列出所有的可回收 且 低脂產品的product_id,順序不拘。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
台幣貶值的原因與影響 台幣近期持續走貶,6月份對美元匯價重挫3.69角,月線連三黑,第二季合計貶值6.81角,季線由紅翻黑。這是什麼原因造成的呢?又會對我們的生活有什麼影響呢? 根據工商時報的報導,台幣貶值的主要原因是美國經濟數據表現支持聯準會(Fed)持續升息,推升國際美元指數走強,而亞洲各國央行
Thumbnail
關渡觀海公園、關渡水岸公園、關渡棧橋碼頭這三個相連一起地方是一個很有意思地方。這裡是金色水岸自行車道起點、雙北市交界地帶,而且這裡視野超好,更能仔細觀看雙北市流經淡水河之沿岸一代地物。 關渡觀海公園、關渡水岸公園、關渡棧橋碼頭相關資訊:: 地址: 台北市北投區關渡地區 電話: 02 2712
群聯 11/16 噴過340後,最終停在359,仍然沒回我的成本367(平台區380-股息13=367),又摔回300。 滿多主力滿常拉到前平台區後回落,給自己解套又不讓前一批人解套,以後抓反彈的停利點就這樣設,明明看出來了,套牢的籌碼就不敢調節,心魔呀心魔。 12/8 傳出潘董11月買了600多張
Thumbnail
2022年9月21日美國聯準會在利率決策會議後宣布升息三碼,並且全數官員都同意這樣的決定。會後聯準會也公告利率點陣圖、美國經濟成長、失業率及個人消費支出物價指數,美股在相關訊息公告後出現下跌 請勿再訂閱,將轉移訂閱服務,該區文章更新到十月底。 本次美國聯邦資金利率目標區間升到3%至3.25%,是20
Thumbnail
包子再次回歸 這幾天實在是忙東忙西 簡單來說就是忙著玩😂最近颱風肆虐 雖然沒有進入台灣境內 但掃到颱風尾風雨總是最大 現在出門必備品要把雨傘列入清單內了 上次更新文章是上上禮拜日 累積了許多事情要跟你們分享喔 趕快去拿零食邊吃邊欣賞我的文章吧💗 祝你們暑假愉快呦!
上聯:明月照紗窗,個個孔明逐個亮(諸葛亮)[佚名]      下聯:鳥鵲躍庭除,矯矯翔羽(宇)啁恩來(周恩來)[紅棉]      注:“庭除”指庭院。 “矯矯”形容英勇威武或超凡脫俗,不同凡響。 “啁”形容鳥的叫聲。      “恩來”指周恩來(1898~1976),字翔宇,曾用名伍豪等,浙江紹興人
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
台幣貶值的原因與影響 台幣近期持續走貶,6月份對美元匯價重挫3.69角,月線連三黑,第二季合計貶值6.81角,季線由紅翻黑。這是什麼原因造成的呢?又會對我們的生活有什麼影響呢? 根據工商時報的報導,台幣貶值的主要原因是美國經濟數據表現支持聯準會(Fed)持續升息,推升國際美元指數走強,而亞洲各國央行
Thumbnail
關渡觀海公園、關渡水岸公園、關渡棧橋碼頭這三個相連一起地方是一個很有意思地方。這裡是金色水岸自行車道起點、雙北市交界地帶,而且這裡視野超好,更能仔細觀看雙北市流經淡水河之沿岸一代地物。 關渡觀海公園、關渡水岸公園、關渡棧橋碼頭相關資訊:: 地址: 台北市北投區關渡地區 電話: 02 2712
群聯 11/16 噴過340後,最終停在359,仍然沒回我的成本367(平台區380-股息13=367),又摔回300。 滿多主力滿常拉到前平台區後回落,給自己解套又不讓前一批人解套,以後抓反彈的停利點就這樣設,明明看出來了,套牢的籌碼就不敢調節,心魔呀心魔。 12/8 傳出潘董11月買了600多張
Thumbnail
2022年9月21日美國聯準會在利率決策會議後宣布升息三碼,並且全數官員都同意這樣的決定。會後聯準會也公告利率點陣圖、美國經濟成長、失業率及個人消費支出物價指數,美股在相關訊息公告後出現下跌 請勿再訂閱,將轉移訂閱服務,該區文章更新到十月底。 本次美國聯邦資金利率目標區間升到3%至3.25%,是20
Thumbnail
包子再次回歸 這幾天實在是忙東忙西 簡單來說就是忙著玩😂最近颱風肆虐 雖然沒有進入台灣境內 但掃到颱風尾風雨總是最大 現在出門必備品要把雨傘列入清單內了 上次更新文章是上上禮拜日 累積了許多事情要跟你們分享喔 趕快去拿零食邊吃邊欣賞我的文章吧💗 祝你們暑假愉快呦!
上聯:明月照紗窗,個個孔明逐個亮(諸葛亮)[佚名]      下聯:鳥鵲躍庭除,矯矯翔羽(宇)啁恩來(周恩來)[紅棉]      注:“庭除”指庭院。 “矯矯”形容英勇威武或超凡脫俗,不同凡響。 “啁”形容鳥的叫聲。      “恩來”指周恩來(1898~1976),字翔宇,曾用名伍豪等,浙江紹興人