国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

算法練習(xí)-替換數(shù)字(思路+流程圖+代碼)

這篇具有很好參考價(jià)值的文章主要介紹了算法練習(xí)-替換數(shù)字(思路+流程圖+代碼)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

難度參考

????????難度:簡(jiǎn)單

? ? ? ? 分類(lèi):字符串

? ? ? ? 難度與分類(lèi)由我所參與的培訓(xùn)課程提供,但需要注意的是,難度與分類(lèi)僅供參考。以下內(nèi)容均為個(gè)人筆記,旨在督促自己認(rèn)真學(xué)習(xí)。

題目

????????給定一個(gè)字符串S,它包含小寫(xiě)字母和數(shù)字字符,請(qǐng)編寫(xiě)一個(gè)函數(shù),將字符串中的字母字符保持不變,而將每個(gè)數(shù)字字符替換為number.
????????示例1:
????????輸入:s="a5b"
????????輸出:"anumberb"
????????解釋?zhuān)簩?shù)字5替換成number

思路

????????當(dāng)解決這個(gè)問(wèn)題時(shí),我們的目標(biāo)是遍歷輸入字符串,將其中的數(shù)字字符替換為"number"。下面是一個(gè)簡(jiǎn)單的思路:

  1. 創(chuàng)建一個(gè)空字符串,用于存儲(chǔ)替換后的結(jié)果。
  2. 遍歷輸入字符串的每個(gè)字符。
  3. 對(duì)于每個(gè)字符,檢查是否是數(shù)字字符。
  4. 如果是數(shù)字字符,則將"number"添加到結(jié)果字符串;否則,將字符本身添加到結(jié)果字符串。
  5. 返回最終的結(jié)果字符串。

? ? ? ? 有雙指針的做法,但是好像沒(méi)比要,有直接判斷是否為數(shù)字的函數(shù)。

示例

  1. 輸入字符串: "a5b"
  2. 遍歷每個(gè)字符:
    • 字符 'a' 不是數(shù)字,添加到結(jié)果字符串中。
    • 字符 '5' 是數(shù)字,替換為 "number",添加到結(jié)果字符串中。
    • 字符 'b' 不是數(shù)字,添加到結(jié)果字符串中。
  3. 最終結(jié)果: "anumberb"

梳理

????????讓我們解釋一下為什么這樣的代碼能夠?qū)崿F(xiàn)將字符串中的數(shù)字替換為"number"的功能:

  1. 定義函數(shù) replaceDigitsWithNumber

    • replaceDigitsWithNumber 函數(shù)被定義為接受一個(gè)字符串參數(shù) s,返回一個(gè)字符串。
    • 在函數(shù)內(nèi)部,初始化一個(gè)空字符串 result 用于存儲(chǔ)替換后的結(jié)果。
  2. 遍歷輸入字符串的每個(gè)字符

    • 使用 for 循環(huán)遍歷輸入字符串 s 中的每個(gè)字符。
  3. 檢查字符是否是數(shù)字

    • 使用 isdigit 函數(shù)檢查當(dāng)前字符是否是數(shù)字。
    • 如果是數(shù)字,將 "number" 添加到結(jié)果字符串 result 中。
    • 如果不是數(shù)字,將當(dāng)前字符直接添加到結(jié)果字符串 result 中。
  4. 返回結(jié)果字符串

    • 函數(shù)最終返回存儲(chǔ)替換后結(jié)果的字符串 result。
  5. 主函數(shù)中的調(diào)用

    • main 函數(shù)中,定義了一個(gè)示例輸入字符串 input,并調(diào)用了 replaceDigitsWithNumber 函數(shù),將結(jié)果存儲(chǔ)在 output 中。
  6. 打印輸入和輸出字符串

    • 使用 cout 打印輸入字符串和替換后的輸出字符串。
  7. 返回程序執(zhí)行成功

    • main 函數(shù)返回 0,表示程序成功執(zhí)行。

????????總體來(lái)說(shuō),這個(gè)代碼的核心是利用循環(huán)遍歷輸入字符串,對(duì)每個(gè)字符進(jìn)行判斷,如果是數(shù)字則替換為"number",最終返回替換后的字符串。這是通過(guò)字符串的拼接和條件判斷來(lái)實(shí)現(xiàn)的。

算法練習(xí)-替換數(shù)字(思路+流程圖+代碼),算法編程筆記,算法

代碼

#include <iostream>
#include <string>

// 定義函數(shù),將字符串中的數(shù)字替換為"number"
string replaceDigitsWithNumber(const string& s) {
    // 存儲(chǔ)替換后的結(jié)果字符串
    string result;
    
    // 遍歷輸入字符串的每個(gè)字符
    for (char c : s) {
        // 如果當(dāng)前字符是數(shù)字,則將"number"添加到結(jié)果字符串
        if (isdigit(c)) {
            result += "number";
        } else {
            // 否則,將當(dāng)前字符添加到結(jié)果字符串
            result += c;
        }
    }
    
    // 返回替換后的結(jié)果字符串
    return result;
}

// 主函數(shù)
int main() {
    // 示例輸入字符串
    string input = "a5b";
    
    // 調(diào)用替換函數(shù),得到輸出字符串
    string output = replaceDigitsWithNumber(input);
    
    // 打印輸入和輸出字符串
    cout << "輸入: " << input << endl;
    cout << "輸出: " << output << endl;

    // 返回程序執(zhí)行成功
    return 0;
}

????????時(shí)間復(fù)雜度O(n)。

????????空間復(fù)雜度O(n)。

打卡

算法練習(xí)-替換數(shù)字(思路+流程圖+代碼),算法編程筆記,算法文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-829812.html

到了這里,關(guān)于算法練習(xí)-替換數(shù)字(思路+流程圖+代碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【每日算法 && 數(shù)據(jù)結(jié)構(gòu)(C++)】—— 02 | 數(shù)組的并交集(解題思路、流程圖、代碼片段)

    【每日算法 && 數(shù)據(jù)結(jié)構(gòu)(C++)】—— 02 | 數(shù)組的并交集(解題思路、流程圖、代碼片段)

    When you feel like giving up, remember why you started. 當(dāng)你想放棄時(shí),請(qǐng)記住為什么你開(kāi)始 給你兩個(gè)數(shù)組,請(qǐng)分別求出兩個(gè)數(shù)組的交集和并集 在數(shù)學(xué)中,我們可以通過(guò)交集和并集來(lái)描述兩個(gè)集合之間的關(guān)系。 交集(Intersection) :指的是兩個(gè)集合中共有的元素組成的集合??梢杂梅?hào)

    2024年02月11日
    瀏覽(20)
  • 【每日算法 && 數(shù)據(jù)結(jié)構(gòu)(C++)】—— 13 | 求最長(zhǎng)自增子序列(解題思路、流程圖、代碼片段)

    【每日算法 && 數(shù)據(jù)結(jié)構(gòu)(C++)】—— 13 | 求最長(zhǎng)自增子序列(解題思路、流程圖、代碼片段)

    Today’s quote is: \\\"Actions speak louder than words. 今天的一句話是:“行動(dòng)勝于言辭 求最長(zhǎng)遞增子序列 最長(zhǎng)遞增子序列是指在給定序列中,找到一個(gè)最長(zhǎng)的子序列,使得子序列中的元素按照遞增的順序排列。 例如,對(duì)于序列 [1, 3, 2, 5, 4, 7, 6],其中的最長(zhǎng)遞增子序列可以是 [1, 2, 4,

    2024年02月12日
    瀏覽(19)
  • 【每日算法 && 數(shù)據(jù)結(jié)構(gòu)(C++)】—— 01 | 平方值去重統(tǒng)計(jì)(解題思路STL法,雙指針?lè)ā⒘鞒虉D、代碼片段)

    【每日算法 && 數(shù)據(jù)結(jié)構(gòu)(C++)】—— 01 | 平方值去重統(tǒng)計(jì)(解題思路STL法,雙指針?lè)?、流程圖、代碼片段)

    “Success is not final, failure is not fatal: It is the courage to continue that counts.” - Winston Churchill (成功并非終點(diǎn),失敗并非致命:真正重要的是繼續(xù)前行的勇氣 - 溫斯頓·丘吉爾) 給你一個(gè)整數(shù)數(shù)組,數(shù)組中的數(shù)可以是正數(shù)、負(fù)數(shù)、零,請(qǐng)實(shí)現(xiàn)一個(gè)函數(shù),返回這個(gè)數(shù)組中所有數(shù)的平方

    2024年02月12日
    瀏覽(30)
  • python實(shí)現(xiàn)+leetcode題+合并兩個(gè)有序列表超詳細(xì)流程圖分析以及代碼思路

    python實(shí)現(xiàn)+leetcode題+合并兩個(gè)有序列表超詳細(xì)流程圖分析以及代碼思路

    給你兩個(gè)按非遞減順序排列的整數(shù)列表nums1和nums2,另有兩個(gè)整數(shù)m和n,分別表示nums1和nums2中的元素?cái)?shù)目。請(qǐng)你合并nums2到nums1中,使合并后的數(shù)組同樣按非遞減順序排列。 注意 :最終,合并后數(shù)組不應(yīng)由函數(shù)返回,而是存儲(chǔ)在數(shù)組nums1中。為了應(yīng)對(duì)這種情況,nums1的初始長(zhǎng)度為

    2023年04月09日
    瀏覽(20)
  • Python 代碼一鍵轉(zhuǎn)流程圖---python=>flowchart-dsl=>流程圖

    Python 代碼一鍵轉(zhuǎn)流程圖---python=>flowchart-dsl=>流程圖

    這個(gè)項(xiàng)目是基于大名鼎鼎的 flowchart.js。 下面貼幾張運(yùn)行圖片: ?如果直接輸入dsl代碼,再進(jìn)行轉(zhuǎn)化就可以很好的畫(huà)出流程圖 ? ? ? 如果你使用 Typora,可能知道在 Typora 中用?flow?可以用一種簡(jiǎn)單的文本語(yǔ)言來(lái)寫(xiě)流程圖,根據(jù)?Typora 的文檔,這個(gè)功能來(lái)自開(kāi)源的?flowchart.js。

    2024年02月08日
    瀏覽(35)
  • 寫(xiě)代碼生成流程圖

    寫(xiě)代碼生成流程圖

    我們?cè)趯?xiě)文檔,博客的時(shí)候,一般都會(huì)使用 markdown 語(yǔ)法,最常見(jiàn)的就是一些 github 開(kāi)源項(xiàng)目的 README 。有時(shí)候會(huì)去畫(huà)一些流程圖,例如使用process.on或者xmind等第三方網(wǎng)站,然后截圖插入到文檔中。 今天我們介紹一種使用代碼直接生成的方式,那就是 mermaid ,官網(wǎng)[1]。 相比于截

    2024年02月07日
    瀏覽(24)
  • python代碼流程圖的生成

    在閱讀一些源碼或者了解項(xiàng)目結(jié)構(gòu)的時(shí)候想直觀的看一下代碼的類(lèi)關(guān)系圖,以及程序運(yùn)行時(shí)函數(shù)之間的調(diào)度圖 學(xué)習(xí)調(diào)研了一番發(fā)現(xiàn)python現(xiàn)有的一些庫(kù)已經(jīng)可以直接實(shí)現(xiàn)生成UML圖 本人的開(kāi)發(fā)環(huán)境是macos + vscode 1.pycallgraph pip install pycallgraph 2.pyreverse 注意??:這個(gè)模塊已經(jīng)集成在

    2024年02月07日
    瀏覽(25)
  • [C語(yǔ)言]描述算法的工具——流程圖

    [C語(yǔ)言]描述算法的工具——流程圖

    大家好,我是壯!這篇文章講述一下描述算法的工具——流程圖。我會(huì)以一個(gè)簡(jiǎn)單的程序(判斷閏年),來(lái)給大家介紹三個(gè)方法,分別是傳統(tǒng)流程圖、結(jié)構(gòu)化流程圖和偽代碼。 舉例程序 1.1介紹 傳統(tǒng)流程圖,簡(jiǎn)稱(chēng)流程圖。它是用一些圖框來(lái)表示各種操作。用圖形表示算法,直

    2024年02月13日
    瀏覽(20)
  • markdown繪制流程圖相關(guān)代碼片段記錄

    有時(shí)候會(huì)使用typora來(lái)繪制一些流程圖,進(jìn)行編碼之類(lèi)的工作,在網(wǎng)絡(luò)搜集了一些筆記,做個(gè)記錄,方便日后進(jìn)行復(fù)習(xí),相關(guān)的記錄如下: 每次作圖時(shí),代碼以「graph 布局方向」開(kāi)頭,如: TB(Top Bottom)表示從上向下布局,另外三種是 BT LR(Left Right) RL 不同種類(lèi)的括號(hào)對(duì)應(yīng)不

    2024年02月19日
    瀏覽(43)
  • 力扣---LeetCode160. 相交鏈表(代碼詳解+流程圖)

    力扣---LeetCode160. 相交鏈表(代碼詳解+流程圖)

    “風(fēng)格相同的人總會(huì)相遇 千萬(wàn)個(gè)人中萬(wàn)幸得以相逢.” 本章的內(nèi)容是力扣每日隨機(jī)一題的部分方法的解析 給你兩個(gè)單鏈表的頭節(jié)點(diǎn) headA 和 headB ,請(qǐng)你找出并返回兩個(gè)單鏈表相交的起始節(jié)點(diǎn)。如果兩個(gè)鏈表不存在相交節(jié)點(diǎn),返回 null 。 160. 相交鏈表 link 根據(jù)題目這是兩個(gè)問(wèn)題

    2024年02月02日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包