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

C++ LeetCode1796字符串中第二大數(shù)字

 更新時間:2022年12月16日 15:34:49   作者:LetMeFly  
這篇文章主要為大家介紹了C++ LeetCode1796字符串中第二大數(shù)字示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

LeetCode 1796.字符串中第二大的數(shù)字

力扣題目鏈接:leetcode.cn/problems/se…

給你一個混合字符串 s ,請你返回 s 中 第二大 的數(shù)字,如果不存在第二大的數(shù)字,請你返回 -1 。

混合字符串 由小寫英文字母和數(shù)字組成。

示例 1:

輸入:s = "dfa12321afd"
輸出:2
解釋:出現(xiàn)在 s 中的數(shù)字包括 [1, 2, 3] 。第二大的數(shù)字是 2 。

示例 2:

輸入:s = "abc1111"
輸出:-1
解釋:出現(xiàn)在 s 中的數(shù)字只包含 [1] 。沒有第二大的數(shù)字。

提示:

  • 1 <= s.length <= 500
  • s 只包含小寫英文字母和(或)數(shù)字。

方法一:遍歷

題目分析

題目中說的“第二大”數(shù)字,到底什么是第二大?英文原文是“Second largest”

也就是說,是從大到小第二個數(shù),不是從小到大第二個數(shù)。

樣例中“123”,不論是從小到大還是從大到小都是“2”,不如把樣例換成“1234”,這樣答案是“3”,就一目了然了。

解題思路

首先開辟一個大小為“10”的布爾數(shù)組,初始值為false

接著遍歷字符串,如果字符串的某個字符是數(shù)字,那么就將對應的那個布爾值標記為true

接著,用一個變量foundFirst來記錄是否已經(jīng)找到了最大值,初始值為false

90遍歷布爾數(shù)組,如果遇到某個值為true,就看foundFirst是否已經(jīng)為true

  • 如果為true,就返回當前的對應元素
  • 否則,將foundFirst標記為true

若遍歷結束后仍未找到“第二大數(shù)”,那么就返回-1

復雜度分析

  • 時間復雜度O(len(s))
  • 空間復雜度O(C),這里C=10,也可以理解為O(1)

AC代碼

C++

class Solution {
public:
    int secondHighest(string& s) {
        bool bin[10] = {false};
        for (char c : s) {
            if (c >= '0' && c <= '9')
                bin[c - '0'] = true;
        }
        bool foundFirst = false;
        for (int i = 9; i >= 0; i--) {
            if (bin[i]) {
                if (foundFirst) {
                    return i;
                }
                else {
                    foundFirst = true;
                }
            }
        }
        return -1;
    }
};

以上就是C++ LeetCode1796字符串中第二大數(shù)字的詳細內容,更多關于C++ 字符串第二大數(shù)字示例的資料請關注腳本之家其它相關文章!

相關文章

  • 使用C++和Direct3D (d3d)獲取屏幕截圖并根據(jù)傳入分辨率進行縮放圖片大小(最新推薦)

    使用C++和Direct3D (d3d)獲取屏幕截圖并根據(jù)傳入分辨率進行縮放圖片大小(最新推薦)

    這篇文章主要介紹了使用C++和Direct3D (d3d)獲取屏幕截圖并根據(jù)傳入分辨率進行縮放圖片大小,本文給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • C語言零基礎講解指針和數(shù)組

    C語言零基礎講解指針和數(shù)組

    由于數(shù)據(jù)的表現(xiàn)形式多種多樣,還有字符型和其它的數(shù)值類型,因此僅有基本數(shù)據(jù)類型是不夠的。是否可以通過基本數(shù)據(jù)類型的組合抽象構造其它的數(shù)據(jù)類型呢?下面是小編為大家?guī)淼腃語言數(shù)組與指針詳解的知識
    2022-04-04
  • c++實現(xiàn)解析zip文件的示例代碼

    c++實現(xiàn)解析zip文件的示例代碼

    這篇文章主要為大家詳細介紹了如何利用c++實現(xiàn)解析zip文件,并對流式文件pptx內容的修改,文中的示例代碼講解詳細,有需要的小伙伴可以參考一下
    2023-12-12
  • C語言實現(xiàn)字符串字符反向排列的方法詳解

    C語言實現(xiàn)字符串字符反向排列的方法詳解

    這篇文章主要為大家分享了幾種通過C語言實現(xiàn)字符串字符反向排列(不是逆序打?。┑姆椒ǎ闹械氖纠a講解詳細,感興趣的小伙伴可以了解一下
    2022-05-05
  • C++實現(xiàn)學生管理系統(tǒng)示例解析

    C++實現(xiàn)學生管理系統(tǒng)示例解析

    這篇文章主要介紹了C++實現(xiàn)學生管理系統(tǒng)示例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • C++ 中私有繼承的作用

    C++ 中私有繼承的作用

    這篇文章主要介紹了C++ 中私有繼承的作用的相關資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • C++詳細講解繼承與虛繼承實現(xiàn)

    C++詳細講解繼承與虛繼承實現(xiàn)

    這篇文章主要介紹了Java中的繼承詳情,繼承是面向對象三大特征之一,可以使得子類具有父類的屬性和方法,還可以在子類中重新定義,以及追加屬性和方法,下文介紹需要的朋友可以參考下
    2022-04-04
  • C++實現(xiàn)五子棋小程序

    C++實現(xiàn)五子棋小程序

    這篇文章主要為大家詳細介紹了C++實現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • C++使用jsoncpp解析json的方法示例

    C++使用jsoncpp解析json的方法示例

    這篇文章主要介紹了C++使用jsoncpp解析json的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • QT的QWebEngineView類知識點詳細介紹

    QT的QWebEngineView類知識點詳細介紹

    QWebEngineView是Qt框架中的組件,基于Chromium內核,支持HTML5、CSS3、JavaScript等Web技術,適用于嵌入網(wǎng)頁內容到Qt應用程序,它提供了豐富的接口如加載、導航、與JavaScript交互等,并支持信號槽機制處理各種網(wǎng)頁事件,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-10-10

最新評論

郑州市| 仙居县| 香港 | 普定县| 罗甸县| 康定县| 通榆县| 西宁市| 夏津县| 陆川县| 昂仁县| 安平县| 饶河县| 上杭县| 新密市| 河源市| 绥阳县| 绥阳县| 施秉县| 旺苍县| 重庆市| 霍城县| 铁岭县| 香港| 南涧| 乐都县| 双柏县| 浠水县| 松阳县| 措勤县| 郓城县| 郁南县| 汉源县| 酒泉市| 凤山市| 尼木县| 德兴市| 拜城县| 莱州市| 游戏| 宜丰县|