最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

1876. 長度為三且各字符不同的子字符串

2023-01-26 23:59 作者:目標力扣Knight  | 我要投稿

1876. 長度為三且各字符不同的子字符串

對讀者的要求

  • 了解for, while兩種循環(huán)結構;

  • 或許在游戲中拿過三殺;

  • 能夠計算簡單組合數(shù);

題意簡述

找出長度為3的連續(xù)字符串的個數(shù);

字符串長度的值域 [1, 100]。

方法一:雙指針

從頭開始遍歷,取連續(xù)的三個字符,統(tǒng)計個數(shù);

Python版本


C++版本


復雜度分析

  • 時間復雜度:O(N)。此處的 n 指的是字符串 s 的長度,實際上只會運行 n - 3 次。

  • 空間復雜度:O(1)。使用一個長度為3的哈希表,作為一個滑動數(shù)組空間,將會使用 n - 3次。

備注

  • 兩次debug: 沒有閱讀題目下面的限制條件,s 的長度可以為1,而支撐判斷需要至少三個字符,因此需要特判;

  • 主串無需遍歷全串,連續(xù)串從0位序開始,最多遍歷到 n - 3;


方法二:遍歷 + 判斷

遍歷連續(xù)字符串,判斷他們三個數(shù)組成的長度為2,數(shù)量為3的數(shù)對,是否每個數(shù)對都不相等;

Python版本


C++版本


復雜度分析

  • 時間復雜度: O(n)。此處的長度n 指的是 字符串s長度為n。 但僅需要遍歷到 n - 2的位置

  • 空間復雜度: O(1)。

備注

  • 對于 C++ 而言,如果在for循環(huán)中將s.length()的值作為上限,可能導致堆棧溢出;

  • 導致堆棧溢出的原因是 unsigned int可能由負數(shù)直接轉換為較大正數(shù),從而導致程序出錯,測試代碼如下:

  • 因此先使用一個變量【確定的數(shù)據類型】,保存s.length()的值,然后再放入循環(huán)中進行遍歷,雖未找到原因,但官解中經常遇到這樣的寫法;



1876. 長度為三且各字符不同的子字符串的評論 (共 條)

分享到微博請遵守國家法律
东辽县| 平陆县| 南澳县| 雅江县| 开封县| 清河县| 杂多县| 桂平市| 泗阳县| 博客| 沈丘县| 思南县| 汝阳县| 天全县| 开封市| 东源县| 安龙县| 海城市| 新余市| 宜春市| 乐陵市| 青州市| 鄱阳县| 休宁县| 太仆寺旗| 黄大仙区| 乐亭县| 莎车县| 定结县| 讷河市| 迁安市| 浑源县| 黄龙县| 桐庐县| 三穗县| 天镇县| 江孜县| 大新县| 肇东市| 尼玛县| 孟连|