中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

網(wǎng)站網(wǎng)址有哪些臨沂seo整站優(yōu)化廠家

網(wǎng)站網(wǎng)址有哪些,臨沂seo整站優(yōu)化廠家,怎么樣才能開網(wǎng)店,群輝wordpress端口題目 給定一個非空字符串S,其被N個‘-’分隔成N1的子串,給定正整數(shù)K,要求除第一個子串外,其余的子串每K個字符組成新的子串,并用‘-’分隔。 對于新組成的每一個子串,如果它含有的小寫字母比大寫字母多&am…

題目

給定一個非空字符串S,其被N個‘-’分隔成N+1的子串,給定正整數(shù)K,要求除第一個子串外,其余的子串每K個字符組成新的子串,并用‘-’分隔。
對于新組成的每一個子串,如果它含有的小寫字母比大寫字母多,則將這個子串的所有大寫字母轉(zhuǎn)換為小寫字母;
反之,如果它含有的大寫字母比小寫字母多,則將這個子串的所有小寫字母轉(zhuǎn)換為大寫字母;大小寫字母的數(shù)量相等時,不做轉(zhuǎn)換

輸入描述
輸入為兩行,第一行為參數(shù)K,第二行為字符串S

輸出描述
輸出轉(zhuǎn)換后的字符串

用例一:
輸入:

3
12abc-abCABc-4aB@

輸出:

12abc-abc-ABC-4aB-@

用例二:
輸入:

12
12abc-abCABc-4aB@

輸出:

12abc-abCABc4aB@

字符串分隔轉(zhuǎn)換算法詳解

核心解題思路

本題目要求我們處理一個由-分隔的字符串,根據(jù)指定長度K重新拆分后續(xù)子串,并根據(jù)大小寫字母比例進行轉(zhuǎn)換。核心思路可分為以下幾步:

  1. 分割原始字符串:先用-將字符串拆分為多個子串
  2. 處理第一部分:保留第一個子串不變
  3. 重組后續(xù)部分:將剩余子串合并后按K長度重新分組
  4. 大小寫轉(zhuǎn)換:統(tǒng)計每組中大小寫字母數(shù)量,按規(guī)則轉(zhuǎn)換
  5. 重組結(jié)果:將處理后的組用-連接

關(guān)鍵點說明

  • 大小寫轉(zhuǎn)換規(guī)則
    • 小寫字母多 → 全轉(zhuǎn)小寫
    • 大寫字母多 → 全轉(zhuǎn)大寫
    • 數(shù)量相等 → 不變
  • 特殊字符處理:非字母字符(數(shù)字、符號等)保持不變
  • 分組規(guī)則:除首個子串外,其余部分合并后按K長度分組,不足K的單獨成組

完整代碼實現(xiàn)

def transform_string():# 讀取輸入K = int(input().strip())S = input().strip()# 分割原始字符串parts = S.split('-')# 處理特殊情況:只有一個部分if len(parts) == 1:print(S)return# 保留第一部分result = [parts[0]]# 合并后續(xù)部分merged_str = ''.join(parts[1:])# 按K長度分組groups = []start = 0while start < len(merged_str):# 獲取當前分組group = merged_str[start:start+K]groups.append(group)start += K# 處理每個分組for group in groups:lower_count = 0upper_count = 0# 統(tǒng)計大小寫字母數(shù)量for char in group:if 'a' <= char <= 'z':lower_count += 1elif 'A' <= char <= 'Z':upper_count += 1# 根據(jù)規(guī)則轉(zhuǎn)換if lower_count > upper_count:# 全轉(zhuǎn)小寫new_group = ''.join(char.lower() if 'A' <= char <= 'Z' else char for char in group)elif upper_count > lower_count:# 全轉(zhuǎn)大寫new_group = ''.join(char.upper() if 'a' <= char <= 'z' else char for char in group)else:# 數(shù)量相等,保持不變new_group = groupresult.append(new_group)# 輸出結(jié)果print('-'.join(result))# 執(zhí)行函數(shù)
transform_string()

算法原理解析

1. 字符串分割與重組

parts = S.split('-')
merged_str = ''.join(parts[1:])
  • split('-'):將原始字符串按-拆分為列表
  • join(parts[1:]):合并除第一部分外的所有子串

2. 分組處理

while start < len(merged_str):group = merged_str[start:start+K]start += K
  • 滑動窗口按K長度截取子串
  • 自動處理尾部不足K的情況

3. 大小寫統(tǒng)計與轉(zhuǎn)換

for char in group:if 'a' <= char <= 'z': lower_count += 1elif 'A' <= char <= 'Z':upper_count += 1
  • 精確統(tǒng)計大小寫字母數(shù)量
  • 非字母字符不影響統(tǒng)計結(jié)果

4. 轉(zhuǎn)換規(guī)則應(yīng)用

if lower_count > upper_count:# 轉(zhuǎn)小寫
elif upper_count > lower_count:# 轉(zhuǎn)大寫
else:# 保持不變
  • 僅轉(zhuǎn)換字母字符
  • 非字母字符保持原樣
  • 數(shù)量相等時不操作

示例解析

示例1:輸入312abc-abCABc-4aB@

  1. 初始分割

    • parts = ["12abc", "abCABc", "4aB@"]
    • 第一部分保留:"12abc"
  2. 合并后續(xù)

    • merged_str = "abCABc4aB@"
  3. 按K=3分組

    • ["abC", "ABc", "4aB", "@"]
  4. 分組處理

    分組小寫字母大寫字母操作結(jié)果
    abCa,b(2)C(1)轉(zhuǎn)小寫abc
    ABcc(1)A,B(2)轉(zhuǎn)大寫ABC
    4aBa(1)B(1)不變4aB
    @00不變@
  5. 最終輸出

    • "12abc-abc-ABC-4aB-@"

示例2:輸入1212abc-abCABc-4aB@

  1. 初始分割

    • parts = ["12abc", "abCABc", "4aB@"]
    • 第一部分保留:"12abc"
  2. 合并后續(xù)

    • merged_str = "abCABc4aB@" (長度9)
  3. 按K=12分組

    • ["abCABc4aB@"] (僅1組)
  4. 分組處理

    • 小寫字母:a,b,c,a(4個)
    • 大寫字母:C,A,B,B(4個)
    • 數(shù)量相等 → 不變
  5. 最終輸出

    • "12abc-abCABc4aB@"

總結(jié)與拓展

關(guān)鍵知識點

  1. 字符串處理:split/join操作
  2. 滑動窗口:按固定長度分組
  3. 字符統(tǒng)計:大小寫字母識別
  4. 條件轉(zhuǎn)換:基于統(tǒng)計結(jié)果的字符串轉(zhuǎn)換

拓展思考

  1. 多分隔符處理:如何支持多個不同分隔符
  2. 動態(tài)K值:K值根據(jù)內(nèi)容動態(tài)調(diào)整
  3. 并行處理:大數(shù)據(jù)量時分組并行計算
  4. 國際化支持:處理非英文字符(如中文、阿拉伯文)

本解法通過清晰的分步處理,完美實現(xiàn)了題目要求的轉(zhuǎn)換功能。初學者可從中學習:

  1. 字符串拆分與重組技巧
  2. 分組統(tǒng)計的實現(xiàn)方法
  3. 條件轉(zhuǎn)換的邏輯設(shè)計
  4. 邊界情況的處理策略

核心啟示:字符串處理的關(guān)鍵在于分解問題,將復(fù)雜需求拆分為獨立的處理步驟,再組合解決。

http://www.risenshineclean.com/news/41521.html

相關(guān)文章:

  • 網(wǎng)站制作公司源碼北京百度競價托管
  • 深圳做網(wǎng)站的給說網(wǎng)店推廣有哪些
  • 做網(wǎng)站最好最佳的資源搜索引擎
  • 環(huán)保網(wǎng)站查詢碾米是否做備案做個網(wǎng)站需要多少錢
  • jsp網(wǎng)站開發(fā)實例教程北京廈門網(wǎng)站優(yōu)化
  • 廈門網(wǎng)站流量優(yōu)化價格app推廣平臺放單平臺
  • 無錫做網(wǎng)站6seo技術(shù)助理
  • 邵陽市城鄉(xiāng)建設(shè)廳網(wǎng)站網(wǎng)絡(luò)營銷是學什么的
  • 企業(yè)做自己的網(wǎng)站要注意什么window優(yōu)化大師
  • 模板網(wǎng)站演示站點怎么做口碑營銷案例2022
  • 主機怎么做網(wǎng)站二次跳轉(zhuǎn)怎么理解搜索引擎優(yōu)化
  • 網(wǎng)站掛馬怎么辦優(yōu)化網(wǎng)站排名方法教程
  • 阿里云ecs裝wordpress長沙的seo網(wǎng)絡(luò)公司
  • 男人和女人做受吃母乳視頻網(wǎng)站免費互聯(lián)網(wǎng)銷售是什么意思
  • 網(wǎng)站低保圖用什么做贛州seo外包
  • 站酷設(shè)計官方網(wǎng)站磁力下載
  • wordpress 圖片 cdn臺州seo優(yōu)化公司
  • WordPress建站 用插件怎么推廣軟件
  • 深圳建設(shè)交易中心網(wǎng)站首頁福州百度關(guān)鍵詞優(yōu)化
  • 網(wǎng)站建設(shè)我要自學網(wǎng)優(yōu)化網(wǎng)站關(guān)鍵詞的技巧
  • 如何選定目標關(guān)鍵詞及網(wǎng)站欄目名稱的確定企業(yè)建網(wǎng)站一般要多少錢
  • 太倉網(wǎng)站設(shè)計早晨設(shè)計泰州seo
  • 正版?zhèn)髌媸钟喂俜骄W(wǎng)站市場調(diào)研報告范文3000字
  • 南郊網(wǎng)站建設(shè)報價ks刷粉網(wǎng)站推廣馬上刷
  • 可以做微課ppt模板 網(wǎng)站有哪些網(wǎng)站制作開發(fā)
  • 為政府做網(wǎng)站的公司百度怎么發(fā)帖做推廣
  • wordpress登陸可見插件外貿(mào)網(wǎng)站推廣優(yōu)化
  • 北京注冊公司地址費用外貿(mào)建站seo
  • wordpress建站需要寫代碼嗎seo是哪里
  • 大網(wǎng)絡(luò)公司做網(wǎng)站武漢seo服務(wù)外包