成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

每日一道算法題 - LetterChanges(easy-4)

mo0n1andin / 3584人閱讀

摘要:更多的小算法練習(xí),可以查看我的文章。規(guī)則使用語言,使用函數(shù)獲取傳遞的參數(shù)并使用以下算法對其進(jìn)行修改。將字符串中的每個字母替換為字母表后面的字母即變?yōu)?,變?yōu)椤H缓髮⑦@個新字符串,,,,中的每個元音大寫,并最終返回此修改后的字符串。

雖然都是很簡單的算法,每個都只需5分鐘左右,但寫起來總會遇到不同的小問題,希望大家能跟我一起每天進(jìn)步一點(diǎn)點(diǎn)。
更多的小算法練習(xí),可以查看我的文章。

規(guī)則

Using the JavaScript language, have the function LetterChanges(str) take the str parameter being passed and modify it using the following algorithm. Replace every letter in the string with the letter following it in the alphabet (ie. c becomes d, z becomes a). Then capitalize every vowel in this new string (a, e, i, o, u) and finally return this modified string.

使用JavaScript語言,使用函數(shù)LetterChanges(str)獲取傳遞的str參數(shù)并使用以下算法對其進(jìn)行修改。
將字符串中的每個字母替換為字母表后面的字母(即 c變?yōu)閐,z變?yōu)閍)。
然后將這個新字符串(a,e,i,o,u)中的每個元音大寫,并最終返回此修改后的字符串。

測試用例
Input:"hello*3"
Output:"Ifmmp*3"


Input:"fun times!"
Output:"gvO Ujnft!"

Input:"I love Code Z!"
Output:"J mpwf DpEf A!"
my code
function LetterChanges(str) {
    var strArr = ["a", "e", "i", "o", "u"]
    var newStr = ""
  
    for(var i=0;i= 97) {
          asciiCode = asciiCode === 122 ? 97 : asciiCode + 1
          tempStr =  String.fromCharCode(asciiCode)
      }else if(asciiCode <= 90 && asciiCode >= 65) {
          asciiCode = asciiCode === 90 ? 65 : asciiCode + 1
          tempStr =  String.fromCharCode(asciiCode)
      }
  
      if(strArr.indexOf(tempStr) !== -1) {
          tempStr = tempStr.toUpperCase()
      }
      newStr += tempStr
    }
   
    return newStr; 
}
other code
function LetterChanges(str) { 
    str = str.replace(/[a-zA-Z]/g, function(ch) {
        if (ch === "z") return "a";
        else if (ch === "Z") return "A";
        else return String.fromCharCode(ch.charCodeAt(0) + 1);
    });
   
    return str.replace(/[aeiou]/g, function(ch) {
        return ch.toUpperCase();
    });
}
思路

方法1: 使用ASCII碼去判斷,a-z(97,122)之間;A-Z(65,90)之間

方法2:使用正則去匹配,特殊情況如"z"和"Z",返回對應(yīng)的值

知識點(diǎn)

charCodeAt(),獲取字符串的ASCII碼

String.fromCharCode(), 把ASCII碼轉(zhuǎn)換成字符串

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/96036.html

相關(guān)文章

  • 每日一道算法 - 反轉(zhuǎn)字符串(easy-3)

    摘要:規(guī)則使用語言,讓函數(shù)獲取傳遞的參數(shù),并以相反的順序返回字符串。測試用例思路方法通過把字符串轉(zhuǎn)換成數(shù)組,并使用數(shù)組的反轉(zhuǎn)數(shù)組,然后使用重新拼接成字符串方法向后循環(huán)字符串或字符數(shù)組以生成新字符串 雖然都是很簡單的算法,每個都只需5分鐘左右,但寫起來總會遇到不同的小問題,希望大家能跟我一起每天進(jìn)步一點(diǎn)點(diǎn)。更多的小算法練習(xí),可以查看我的文章。 規(guī)則 Using the JavaScript l...

    xfee 評論0 收藏0
  • 每日一道算法 - LongestWord(easy-1)

    摘要:規(guī)則使用語言,讓函數(shù)獲取傳遞的參數(shù)并返回字符串中的最大單詞。忽略字符串中標(biāo)點(diǎn)符號并假設(shè)不會為空。測試用例思路通過過濾字符串,并把字符串根據(jù)空格符轉(zhuǎn)換成字符串?dāng)?shù)組通過循環(huán)把獲取字符串?dāng)?shù)組中的長度最長的字符串 雖然都是很簡單的算法,每個都只需5分鐘左右,但寫起來總會遇到不同的小問題,希望大家能跟我一起每天進(jìn)步一點(diǎn)點(diǎn)。更多的小算法練習(xí),可以查看我的文章。 規(guī)則 Using the JavaS...

    plokmju88 評論0 收藏0
  • 每日一道算法

    摘要:遇到的坑剛拿到這道題就直接做了這樣的判斷,可是萬一是這個判斷就是錯誤的了。思路二上述算法遍歷了兩次鏈表,還額外申請了一個數(shù)組空間,效率不高,不如直接就地反轉(zhuǎn)鏈表,更改每個節(jié)點(diǎn)自身的指針。 2018.10.14 來源:劍指offer 題目:反轉(zhuǎn)鏈表 輸入一個鏈表,反轉(zhuǎn)鏈表后,輸出新鏈表的表頭。思路一:把所有鏈表內(nèi)容都輸入到一個數(shù)組,再次遍歷鏈表,得到數(shù)組反轉(zhuǎn)后的值,最后輸出原來的head...

    The question 評論0 收藏0
  • 每日一道算法--二維數(shù)組中的查找--python

    摘要:題目描述代碼思路思路一按行執(zhí)行二分查找,只要該行的第一個元素小于目標(biāo),就對該行二分查找。思路二從數(shù)組的左下角開始查找,如果當(dāng)前值小于目標(biāo),就向右,即如果當(dāng)前值大于目標(biāo),就向上,即?!绢}目描述】 showImg(https://user-gold-cdn.xitu.io/2019/5/22/16addf094e0320ca); 【代碼思路】 思路一:按行執(zhí)行二分查找,只要該行的第一個元素小于目...

    番茄西紅柿 評論0 收藏0
  • 每日一道算法--二維數(shù)組中的查找--python

    摘要:題目描述代碼思路思路一按行執(zhí)行二分查找,只要該行的第一個元素小于目標(biāo),就對該行二分查找。思路二從數(shù)組的左下角開始查找,如果當(dāng)前值小于目標(biāo),就向右,即如果當(dāng)前值大于目標(biāo),就向上,即?!绢}目描述】 showImg(https://user-gold-cdn.xitu.io/2019/5/22/16addf094e0320ca); 【代碼思路】 思路一:按行執(zhí)行二分查找,只要該行的第一個元素小于目...

    luck 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<