最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

LeetCode題解C++生成每種字符都是奇數(shù)個的字符串

 更新時間:2022年10月09日 10:59:17   作者:Junkman丶  
這篇文章主要為大家介紹了LeetCode題解C++生成每種字符都是奇數(shù)個的字符串示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

題目描述

題目鏈接:1374. 生成每種字符都是奇數(shù)個的字符串

給你一個整數(shù) n,請你返回一個含 n 個字符的字符串,其中每種字符在該字符串中都恰好出現(xiàn) 奇數(shù)次

返回的字符串必須只含小寫英文字母。如果存在多個滿足題目要求的字符串,則返回其中任意一個即可。

提示:

1 <= n <= 500

示例 1:

輸入:n = 4
輸出:"pppz"
解釋:"pppz" 是一個滿足題目要求的字符串,因為 'p' 出現(xiàn) 3 次,且 'z' 出現(xiàn) 1 次。當然,還有很多其他字符串也滿足題目要求,比如:"ohhh" 和 "love"。

示例 2:

輸入:n = 2
輸出:"xy"
解釋:"xy" 是一個滿足題目要求的字符串,因為 'x' 和 'y' 各出現(xiàn) 1 次。當然,還有很多其他字符串也滿足題目要求,比如:"ag" 和 "ur"。

示例 3:

輸入: n = 7
輸出: "holasss"

整理題意

題目要求我們構(gòu)造一個長度為 n 的字符串,且字符串中每個字符出現(xiàn)的次數(shù)都為奇數(shù)次。

題目規(guī)定字符串中的字符必須都是小寫字母,因為答案不唯一,所以返回任意一個都是可以的。

解題思路分析

由于題目僅要求字符串中的字符都要出現(xiàn)奇數(shù)次,那么我們可以直接 分類討論

  • n 為奇數(shù)時,我們直接構(gòu)造 n 個相同的任意小寫字母即可。
  • n 為偶數(shù)時,我們可以直接構(gòu)造 n - 1 個相同的任意小寫字母,然后在末尾添加一個與前面不同的任意一個小寫字母即可。

具體實現(xiàn)

在構(gòu)造長度為 n 的字符串時,我們可以直接使用構(gòu)造函數(shù):string(size_type length, char ch),表示構(gòu)造長度為 length 的字符串,字符串中每個字符都為 ch,也就是 lengthch 構(gòu)成的字符串。

寫成 string s(n, c); 表示字符串 sn'c' 構(gòu)成的字符串(s = "ccc...ccc"),而 string(n, c); 是直接返回 n'c' 構(gòu)成的字符串("ccc...ccc")。

我們還可以直接通過 while 循環(huán)來實現(xiàn)構(gòu)造:while(ans.length() < n) ans += 'c';

復雜度分析

  • 時間復雜度:O(n)。
  • 空間復雜度:O(1)。這里不計入返回值需要的空間。

代碼實現(xiàn)

class Solution {
public:
    string generateTheString(int n) {
        // string(size_type length, char ch);
        // 以length為長度的ch的拷貝(即length個ch)
        if(n & 1) return string(n, 'a');
        else return string(n - 1, 'a') + 'b';
    }
};

總結(jié)

  • 該題較為簡單,僅需分類討論然后直接構(gòu)造即可,分為構(gòu)造長度為奇數(shù)和偶數(shù)兩種情況。
  • 該題所新學到的構(gòu)造函數(shù):string(size_type length, char ch),表示 lengthch 構(gòu)成的字符串。同時還可以在聲明字符串時用到,例如:string s(length, ch);,這就表示構(gòu)造的字符串賦值到一個變量 s 上了。

測試結(jié)果:

以上就是LeetCode題解C++生成每種字符都是奇數(shù)個的字符串的詳細內(nèi)容,更多關于C++奇數(shù)字符串的資料請關注腳本之家其它相關文章!

相關文章

  • 基于Qt實現(xiàn)Android的圖案密碼效果

    基于Qt實現(xiàn)Android的圖案密碼效果

    這篇文章主要為大家詳細介紹了如何基于Qt實現(xiàn)Android的圖案密碼效果,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下
    2024-12-12
  • 用C語言實現(xiàn)簡單五子棋小游戲

    用C語言實現(xiàn)簡單五子棋小游戲

    這篇文章主要為大家詳細介紹了用C語言實現(xiàn)簡單五子棋小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C++中內(nèi)存池和內(nèi)存分配區(qū)Arena概念詳解

    C++中內(nèi)存池和內(nèi)存分配區(qū)Arena概念詳解

    在 C++ 中,內(nèi)存分配區(qū)(Arena)通常指的是預先分配的一大塊連續(xù)內(nèi)存空間,這種方法的主要目的是提高內(nèi)存分配和釋放的效率,下面就跟隨小編一起了解一下C++中內(nèi)存池和內(nèi)存分配區(qū)Arena相關概念吧
    2023-12-12
  • C語言背包問題求解全過程(貪心方法)

    C語言背包問題求解全過程(貪心方法)

    背包問題是一個經(jīng)典的動態(tài)規(guī)劃問題,而貪心算法是一種常用的解決背包問題的方法,這篇文章主要給大家介紹了關于C語言背包問題求解(貪心方法)的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-06-06
  • C語言結(jié)構(gòu)體指針的具體使用

    C語言結(jié)構(gòu)體指針的具體使用

    結(jié)構(gòu)體指針是一種非常有用的數(shù)據(jù)類型,它可以讓我們更方便地操作結(jié)構(gòu)體,本文主要介紹了C語言結(jié)構(gòu)體指針的具體使用,非常具有實用價值,需要的朋友可以參考下
    2023-05-05
  • C語言實現(xiàn)簡單圖書管理系統(tǒng)

    C語言實現(xiàn)簡單圖書管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C 二分查找 遞歸與非遞歸的實現(xiàn)代碼

    C 二分查找 遞歸與非遞歸的實現(xiàn)代碼

    C 二分查找 遞歸與非遞歸的實現(xiàn)代碼,需要的朋友可以參考一下
    2013-03-03
  • Matlab繪制雨云圖的方法詳解

    Matlab繪制雨云圖的方法詳解

    這篇文章主要介紹了如何利用Matlab實現(xiàn)雨云圖的繪制,文中的示例代碼講解詳細,對我們學習Matlab有一定的幫助,需要的可以參考一下
    2022-05-05
  • C++求所有頂點之間的最短路徑(用Floyd算法)

    C++求所有頂點之間的最短路徑(用Floyd算法)

    這篇文章主要為大家詳細介紹了C++求所有頂點之間的最短路徑,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • 樹形結(jié)構(gòu)的3中搜索方式示例分享

    樹形結(jié)構(gòu)的3中搜索方式示例分享

    樹的3中常見搜索方式,包括二叉樹方式(每一層只有0和1)、滿m叉樹(每一層都有0 到m - 1)、子集樹,也稱為全排列樹,需要的朋友可以參考下
    2014-02-02

最新評論

汉寿县| 灵山县| 乌恰县| 安国市| 马鞍山市| 西和县| 祁东县| 柳江县| 钦州市| 全南县| 宁陕县| 易门县| 南部县| 成武县| 历史| 包头市| 乌什县| 清水河县| 濮阳县| 万盛区| 墨竹工卡县| 广元市| 中卫市| 灵石县| 宣化县| 启东市| 壶关县| 确山县| 吉首市| 大城县| 乐清市| 于都县| 象山县| 沈阳市| 吉木萨尔县| 眉山市| 东辽县| 新营市| 梓潼县| 湘阴县| 称多县|