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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

LeetCode简单题之密钥格式化

發布時間:2023/11/28 生活经验 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode简单题之密钥格式化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目

有一個密鑰字符串 S ,只包含字母,數字以及 ‘-’(破折號)。其中, N 個 ‘-’ 將字符串分成了 N+1 組。
給你一個數字 K,請你重新格式化字符串,使每個分組恰好包含 K 個字符。特別地,第一個分組包含的字符個數必須小于等于 K,但至少要包含 1 個字符。兩個分組之間需要用 ‘-’(破折號)隔開,并且將所有的小寫字母轉換為大寫字母。
給定非空字符串 S 和數字 K,按照上面描述的規則進行格式化。
示例 1:
輸入:S = “5F3Z-2e-9-w”, K = 4
輸出:“5F3Z-2E9W”
解釋:字符串 S 被分成了兩個部分,每部分 4 個字符;
注意,兩個額外的破折號需要刪掉。
示例 2:
輸入:S = “2-5g-3-J”, K = 2
輸出:“2-5G-3J”
解釋:字符串 S 被分成了 3 個部分,按照前面的規則描述,第一部分的字符可以少于給定的數量,其余部分皆為 2 個字符。
提示:
S 的長度可能很長,請按需分配大小。K 為正整數。
S 只包含字母數字(a-z,A-Z,0-9)以及破折號’-’
S 非空

來源:力扣(LeetCode)

解題思路

??大體思路:第一步先將‘-’去掉,然后計算第一組有多少字符;第二步,遍歷剩下的字符,每個k個字符添加一個‘-’。

class Solution:def licenseKeyFormatting(self, s: str, k: int) -> str:S=s.replace('-','')  #去除‘-’temp=len(S)%k  #計算第一組在整個字符串中的位置news=S[0:temp].upper()  #構造第一組,這里有兩種情況其一是0個字符,其二是大于0小于k個字符if temp:  #count計數當前已經訪問了幾個字符,第一組有字符的話按k個處理count=kelse:count=0for i in S[temp:]:if count==k:news+='-'news+=i.upper()count=1else:news+=i.upper()count+=1return news

總結

以上是生活随笔為你收集整理的LeetCode简单题之密钥格式化的全部內容,希望文章能夠幫你解決所遇到的問題。

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