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

不簡(jiǎn)單的字符串轉(zhuǎn)換問(wèn)題(算法村第十二關(guān)青銅挑戰(zhàn))

這篇具有很好參考價(jià)值的文章主要介紹了不簡(jiǎn)單的字符串轉(zhuǎn)換問(wèn)題(算法村第十二關(guān)青銅挑戰(zhàn))。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

大寫(xiě)字母轉(zhuǎn)換成小寫(xiě)字母

709. 轉(zhuǎn)換成小寫(xiě)字母 - 力扣(LeetCode)

給你一個(gè)字符串 s ,將該字符串中的大寫(xiě)字母轉(zhuǎn)換成相同的小寫(xiě)字母,返回新的字符串。

1 <= s.length <= 100

大寫(xiě)字母和小寫(xiě)字母的值之間存在固定的差異。例如,小寫(xiě)字母a的ASCII值為97,而對(duì)應(yīng)的大寫(xiě)字母A的ASCII值為65,兩者之差恰好為32。

public String toLowerCase(String s)
{
    char[] charArr = s.toCharArray();

    for (int i = 0; i < charArr.length; i++)
    {
        if (charArr[i] >= 'A' && charArr[i] <= 'Z')
            charArr[i] += 32;	//得用 += 表達(dá)式
    }

    return new String(charArr);
}

字符串轉(zhuǎn)換整數(shù)

8. 字符串轉(zhuǎn)換整數(shù) (atoi) - 力扣(LeetCode)

請(qǐng)你來(lái)實(shí)現(xiàn)一個(gè) myAtoi(string s) 函數(shù),使其能將字符串轉(zhuǎn)換成一個(gè) 32 位有符號(hào)整數(shù)(類似 C/C++ 中的 atoi 函數(shù))。

函數(shù) myAtoi(string s) 的算法如下:

  1. 讀入字符串并丟棄無(wú)用的前導(dǎo)空格
  2. 檢查下一個(gè)字符(假設(shè)還未到字符末尾)為正還是負(fù)號(hào),讀取該字符(如果有)。 確定最終結(jié)果是負(fù)數(shù)還是正數(shù)。 如果兩者都不存在,則假定結(jié)果為正。
  3. 讀入下一個(gè)字符,直到到達(dá)下一個(gè)非數(shù)字字符或到達(dá)輸入的結(jié)尾。字符串的其余部分將被忽略。
  4. 將前面步驟讀入的這些數(shù)字轉(zhuǎn)換為整數(shù)(即,“123” -> 123, “0032” -> 32)。如果沒(méi)有讀入數(shù)字,則整數(shù)為 0 。必要時(shí)更改符號(hào)(從步驟 2 開(kāi)始)。
  5. 如果整數(shù)數(shù)超過(guò) 32 位有符號(hào)整數(shù)范圍 [?231, 231 ? 1] ,需要截?cái)噙@個(gè)整數(shù),使其保持在這個(gè)范圍內(nèi)。具體來(lái)說(shuō),小于 ?231 的整數(shù)應(yīng)該被固定為 ?231 ,大于 231 ? 1 的整數(shù)應(yīng)該被固定為 231 ? 1 。
  6. 返回整數(shù)作為最終結(jié)果。

注意:

  • 本題中的空白字符只包括空格字符 ' ' 。
  • 除前導(dǎo)空格或數(shù)字后的其余字符串外,請(qǐng)勿忽略 任何其他字符。

示例 1:

輸入:s = "42"
輸出:42

示例 2:

輸入:s = "   -42"
輸出:-42

示例 3:

輸入:s = "4193 with words"
輸出:4193

示例 4:

輸入:s = " with words 4193"
輸出:0

示例 5:

輸入:s = "324523452345"
輸出:2147483647

提示:

  • 0 <= s.length <= 200
  • s 由英文字母(大寫(xiě)和小寫(xiě))、數(shù)字(0-9)、' '、'+'、'-''.' 組成

這個(gè)問(wèn)題其實(shí)沒(méi)有考察算法的知識(shí),模擬的是日常開(kāi)發(fā)中對(duì)于原始數(shù)據(jù)的處理(例如「參數(shù)校驗(yàn)」等場(chǎng)景),如果面試中遇到類似的問(wèn)題,應(yīng)先仔細(xì)閱讀題目文字說(shuō)明和示例,有疑惑的地方和需要和面試官確認(rèn),在編碼的時(shí)候需要耐心和細(xì)心地調(diào)試。

其實(shí)很多時(shí)候,業(yè)務(wù)需求就是類似這樣的問(wèn)題,工作中如果遇到:

1、有現(xiàn)成的工具和類庫(kù)需盡量使用,因?yàn)樗鼈兪切阅芨鼉?yōu),且經(jīng)過(guò)更嚴(yán)格測(cè)試,是相對(duì)可靠的;
2、能抽取成工具類、工具方法的盡量抽取,以突出主干邏輯、方便以后代碼復(fù)用;
3、不得不寫(xiě)得比較繁瑣、冗長(zhǎng)的時(shí)候,需要寫(xiě)清楚注釋、體現(xiàn)邏輯層次,以便上線以后排查問(wèn)題和后續(xù)維護(hù)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-822963.html

public static int myAtoi(String s)
{
    char[] charArr = s.toCharArray();

    //去除前導(dǎo)空格
    int index = 0;
    while (index < s.length() && charArr[index] == ' ')
        index++;

    //去除極端用例'      '
    if (index == s.length())
        return 0;

    //對(duì)前導(dǎo)空格之后的第一個(gè)字符進(jìn)行判斷
    //若即不是'='、'-',也不是'數(shù)字',則會(huì)在下面的while中直接break,return 0
    int sign = 1; //默認(rèn)為正
    char ch = charArr[index];

    if (ch == '+')
        index++;
    else if (ch == '-')
    {
        sign = -1;
        index++;
    }

    int ans = 0;
    while (index < s.length())
    {
        char curChar = charArr[index];
        //不是數(shù)字就退出
        if (curChar < '0' || curChar > '9')
            break;

        //題目稱環(huán)境無(wú)法容納超過(guò) int 范圍的數(shù)據(jù)
        //故需要在越界之前判斷
        int curNum = Character.getNumericValue(curChar);

        //ans 為正數(shù)
        if (ans > Integer.MAX_VALUE / 10
            || (ans == Integer.MAX_VALUE / 10 && curNum > Integer.MAX_VALUE % 10))
            return Integer.MAX_VALUE;

        //ans 為負(fù)數(shù)
        //注:Integer.MIN_VALUE % 10 == -8
        else if( ans < Integer.MIN_VALUE / 10
                || (ans == Integer.MIN_VALUE / 10 && curNum > -(Integer.MIN_VALUE % 10)))
            return Integer.MIN_VALUE;

        //經(jīng)過(guò)檢驗(yàn),可以繼續(xù)轉(zhuǎn)換為數(shù)字
        ans = ans * 10 + sign * curNum;
        index++;
    }

    return ans;
}

到了這里,關(guān)于不簡(jiǎn)單的字符串轉(zhuǎn)換問(wèn)題(算法村第十二關(guān)青銅挑戰(zhàn))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(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)文章

  • 算法第十七天-構(gòu)造有效字符串的最少插入數(shù)

    算法第十七天-構(gòu)造有效字符串的最少插入數(shù)

    考慮abc的個(gè)數(shù) 假設(shè)答案有n個(gè)\\\"abc\\\"組成,那么需要插入的字符個(gè)數(shù)為 3 ? n ? l e n ( s ) 3*n - len(s) 3 ? n ? l e n ( s ) 。 對(duì)于相鄰的兩個(gè)字符x和y(x在y左側(cè)): 如果 x y xy x y ,那么x和y可以在同一個(gè)\\\"abc\\\"內(nèi),否則一定不在; 如果 x ≥ y xge y x ≥ y ,那么x和y一定不可以在同一個(gè)

    2024年01月17日
    瀏覽(21)
  • [Go版]算法通關(guān)村第十二關(guān)黃金——字符串沖刺題

    [Go版]算法通關(guān)村第十二關(guān)黃金——字符串沖刺題

    題目鏈接:LeetCode-14. 最長(zhǎng)公共前綴 以第一個(gè)子字符串為標(biāo)準(zhǔn),遍歷其每個(gè)字符時(shí),內(nèi)嵌遍歷其余子字符串的對(duì)應(yīng)字符是否一致。不一致時(shí),則返回當(dāng)前字符之前的子字符串。 復(fù)雜度:時(shí)間復(fù)雜度 O ( n ? m ) O(n*m) O ( n ? m ) 、空間復(fù)雜度 O ( 1 ) O(1) O ( 1 ) 時(shí)間復(fù)雜度:其中 n

    2024年02月12日
    瀏覽(22)
  • 算法通關(guān)村十二關(guān) | 字符串前綴問(wèn)題

    算法通關(guān)村十二關(guān) | 字符串前綴問(wèn)題

    題目:LeetCode14,14. 最長(zhǎng)公共前綴 - 力扣(LeetCode) 我們先看公共前綴有什么特點(diǎn)。 第一種方式,豎著比較,如圖左邊所示,選取數(shù)組中第一個(gè)字符串的位置,每前進(jìn)一個(gè)就比較各個(gè)字符串,看是否相等,只有某一輪遇到不相等,則結(jié)束返回結(jié)果。 還是這張圖 ????????如

    2024年02月11日
    瀏覽(25)
  • 實(shí)體類中嵌套Enum類型并想轉(zhuǎn)換成JSON字符串時(shí)遇到的問(wèn)題。

    先說(shuō)明問(wèn)題的產(chǎn)生,在自己寫(xiě)著玩的時(shí)候,新建了一個(gè) User 類如下: 不難看出User類中,用到了枚舉類把性別規(guī)定成了兩個(gè)。 下面是SexEnum類: 這里,當(dāng)我想通過(guò)工具類將其轉(zhuǎn)換成json字符串并且讓枚舉中的 值能返回對(duì)應(yīng)的文字時(shí),出現(xiàn)了問(wèn)題。返回的值是枚舉類的 屬性名 而

    2024年02月08日
    瀏覽(21)
  • 數(shù)據(jù)結(jié)構(gòu)課設(shè):基于字符串模式匹配算法的病毒感染檢測(cè)問(wèn)題

    數(shù)據(jù)結(jié)構(gòu)課設(shè):基于字符串模式匹配算法的病毒感染檢測(cè)問(wèn)題

    1.掌握字符串的順序存儲(chǔ)表示方法。 2.掌握字符串模式匹配算法BF算法或KMP算法的實(shí)現(xiàn)。 問(wèn)題描述 醫(yī)學(xué)研究者最近發(fā)現(xiàn)了某些新病毒,通過(guò)對(duì)這些病毒的分析,得知它們的DNA序列都是環(huán)狀的?,F(xiàn)在研究者已收集了大量的病毒DNA和人的DNA數(shù)據(jù),想快速檢測(cè)出這些人是否感染了

    2023年04月27日
    瀏覽(28)
  • 【LeetCode】《LeetCode 101》第十二章:字符串

    【LeetCode】《LeetCode 101》第十二章:字符串

    思路及代碼: 242 . 有效的字母異位詞 思路及代碼: 205. 同構(gòu)字符串 思路及代碼: 647. 回文子串 思路及代碼: 696 . 計(jì)數(shù)二進(jìn)制子串 思路及代碼 : 224. 基本計(jì)算器 思路及代碼: 227. 基本計(jì)算器 II 思路與代碼: 28 . 找出字符串中第一個(gè)匹配項(xiàng)的下標(biāo) 思路及代碼 :409. 最長(zhǎng)回文

    2024年02月10日
    瀏覽(28)
  • 算法-回溯相關(guān)問(wèn)題-生成所有n位長(zhǎng)的二進(jìn)制字符串 Java版

    生成所有n位長(zhǎng)的二進(jìn)制字符串。假設(shè)A[0…n-1]是一個(gè)大小為n的數(shù)組。

    2024年02月16日
    瀏覽(18)
  • java將list轉(zhuǎn)為逗號(hào)隔開(kāi)字符串,將逗號(hào)連接的字符串轉(zhuǎn)成字符數(shù)組,?將逗號(hào)分隔的字符串轉(zhuǎn)換為L(zhǎng)ist?(Java逗號(hào)分隔-字符串與數(shù)組相互轉(zhuǎn)換)

    java將list轉(zhuǎn)為逗號(hào)隔開(kāi)字符串,將逗號(hào)連接的字符串轉(zhuǎn)成字符數(shù)組,?將逗號(hào)分隔的字符串轉(zhuǎn)換為L(zhǎng)ist?(Java逗號(hào)分隔-字符串與數(shù)組相互轉(zhuǎn)換)

    ? ?參考:java將list轉(zhuǎn)為逗號(hào)隔開(kāi)字符串_51CTO博客_list轉(zhuǎn)字符串逗號(hào)隔開(kāi) Java將字符串轉(zhuǎn)化為數(shù)組_java 字符串轉(zhuǎn)數(shù)組-CSDN博客? Java逗號(hào)分隔-字符串與數(shù)組相互轉(zhuǎn)換-CSDN博客 ?

    2024年02月08日
    瀏覽(42)
  • Python字符串與二進(jìn)制字符串之間的轉(zhuǎn)換

    字符串:可以包含任意字符 二進(jìn)制字符串:轉(zhuǎn)換結(jié)果的長(zhǎng)度為8的倍數(shù) 涉及的內(nèi)容: 字符串與bytes類型的互相轉(zhuǎn)換 bytes類轉(zhuǎn)與 list 列表的互相轉(zhuǎn)換 bin函數(shù)的使用 int函數(shù)的使用 步驟: 將字符串轉(zhuǎn)成bytes類型 將bytes類型轉(zhuǎn)成list類型(元素為int型) 將list的每個(gè)元素轉(zhuǎn)成二進(jìn)制字

    2024年02月13日
    瀏覽(28)
  • Java中如何將字符串轉(zhuǎn)換為JSON格式字符串

    Java中如何將字符串轉(zhuǎn)換為JSON格式字符串 在Java編程中,我們經(jīng)常需要處理JSON數(shù)據(jù)格式。有時(shí)候,我們需要將一個(gè)普通的字符串轉(zhuǎn)換為JSON格式的字符串。幸運(yùn)的是,Java提供了多種方法來(lái)實(shí)現(xiàn)這個(gè)目標(biāo)。在本文中,我將介紹兩種常見(jiàn)的方法來(lái)將字符串轉(zhuǎn)換為JSON格式字符串。 方

    2024年02月06日
    瀏覽(26)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包