摘要:更多的小算法練習(xí),可以查看我的文章。規(guī)則使用語(yǔ)言,使用函數(shù)獲取傳遞的參數(shù)并使用以下算法對(duì)其進(jìn)行修改。將字符串中的每個(gè)字母替換為字母表后面的字母即變?yōu)椋優(yōu)椤H缓髮⑦@個(gè)新字符串,,,,中的每個(gè)元音大寫(xiě),并最終返回此修改后的字符串。
雖然都是很簡(jiǎn)單的算法,每個(gè)都只需5分鐘左右,但寫(xiě)起來(lái)總會(huì)遇到不同的小問(wèn)題,希望大家能跟我一起每天進(jìn)步一點(diǎn)點(diǎn)。
更多的小算法練習(xí),可以查看我的文章。
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語(yǔ)言,使用函數(shù)LetterChanges(str)獲取傳遞的str參數(shù)并使用以下算法對(duì)其進(jìn)行修改。
將字符串中的每個(gè)字母替換為字母表后面的字母(即 c變?yōu)閐,z變?yōu)閍)。
然后將這個(gè)新字符串(a,e,i,o,u)中的每個(gè)元音大寫(xiě),并最終返回此修改后的字符串。
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;iother code= 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; }
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",返回對(duì)應(yīng)的值
知識(shí)點(diǎn)charCodeAt(),獲取字符串的ASCII碼
String.fromCharCode(), 把ASCII碼轉(zhuǎn)換成字符串
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/96036.html
摘要:規(guī)則使用語(yǔ)言,讓函數(shù)獲取傳遞的參數(shù),并以相反的順序返回字符串。測(cè)試用例思路方法通過(guò)把字符串轉(zhuǎn)換成數(shù)組,并使用數(shù)組的反轉(zhuǎn)數(shù)組,然后使用重新拼接成字符串方法向后循環(huán)字符串或字符數(shù)組以生成新字符串 雖然都是很簡(jiǎn)單的算法,每個(gè)都只需5分鐘左右,但寫(xiě)起來(lái)總會(huì)遇到不同的小問(wèn)題,希望大家能跟我一起每天進(jìn)步一點(diǎn)點(diǎn)。更多的小算法練習(xí),可以查看我的文章。 規(guī)則 Using the JavaScript l...
摘要:規(guī)則使用語(yǔ)言,讓函數(shù)獲取傳遞的參數(shù)并返回字符串中的最大單詞。忽略字符串中標(biāo)點(diǎn)符號(hào)并假設(shè)不會(huì)為空。測(cè)試用例思路通過(guò)過(guò)濾字符串,并把字符串根據(jù)空格符轉(zhuǎn)換成字符串?dāng)?shù)組通過(guò)循環(huán)把獲取字符串?dāng)?shù)組中的長(zhǎng)度最長(zhǎng)的字符串 雖然都是很簡(jiǎn)單的算法,每個(gè)都只需5分鐘左右,但寫(xiě)起來(lái)總會(huì)遇到不同的小問(wèn)題,希望大家能跟我一起每天進(jìn)步一點(diǎn)點(diǎn)。更多的小算法練習(xí),可以查看我的文章。 規(guī)則 Using the JavaS...
摘要:遇到的坑剛拿到這道題就直接做了這樣的判斷,可是萬(wàn)一是這個(gè)判斷就是錯(cuò)誤的了。思路二上述算法遍歷了兩次鏈表,還額外申請(qǐng)了一個(gè)數(shù)組空間,效率不高,不如直接就地反轉(zhuǎn)鏈表,更改每個(gè)節(jié)點(diǎn)自身的指針。 2018.10.14 來(lái)源:劍指offer 題目:反轉(zhuǎn)鏈表 輸入一個(gè)鏈表,反轉(zhuǎn)鏈表后,輸出新鏈表的表頭。思路一:把所有鏈表內(nèi)容都輸入到一個(gè)數(shù)組,再次遍歷鏈表,得到數(shù)組反轉(zhuǎn)后的值,最后輸出原來(lái)的head...
摘要:題目描述代碼思路思路一按行執(zhí)行二分查找,只要該行的第一個(gè)元素小于目標(biāo),就對(duì)該行二分查找。思路二從數(shù)組的左下角開(kāi)始查找,如果當(dāng)前值小于目標(biāo),就向右,即如果當(dāng)前值大于目標(biāo),就向上,即。【題目描述】 showImg(https://user-gold-cdn.xitu.io/2019/5/22/16addf094e0320ca); 【代碼思路】 思路一:按行執(zhí)行二分查找,只要該行的第一個(gè)元素小于目...
摘要:題目描述代碼思路思路一按行執(zhí)行二分查找,只要該行的第一個(gè)元素小于目標(biāo),就對(duì)該行二分查找。思路二從數(shù)組的左下角開(kāi)始查找,如果當(dāng)前值小于目標(biāo),就向右,即如果當(dāng)前值大于目標(biāo),就向上,即。【題目描述】 showImg(https://user-gold-cdn.xitu.io/2019/5/22/16addf094e0320ca); 【代碼思路】 思路一:按行執(zhí)行二分查找,只要該行的第一個(gè)元素小于目...
閱讀 2882·2021-09-28 09:36
閱讀 3608·2021-09-27 13:59
閱讀 2484·2021-08-31 09:44
閱讀 2278·2019-08-30 15:54
閱讀 2352·2019-08-30 15:44
閱讀 1180·2019-08-30 13:45
閱讀 1223·2019-08-29 18:38
閱讀 1207·2019-08-29 18:37