Leecode刷題記錄

1.給定一個整數(shù)數(shù)組 nums?和一個目標(biāo)值 target淆九,請你在該數(shù)組中找出和為目標(biāo)值的那?兩個?整數(shù)统锤,并返回他們的數(shù)組下標(biāo)。

你可以假設(shè)每種輸入只會對應(yīng)一個答案炭庙。但是饲窿,你不能重復(fù)利用這個數(shù)組中同樣的元素。

var twoSum = function(nums, target) {

? ? for(var i = 0;i<nums.length;i++){

? ? ? for(var j = 1;j<nums.length;j++){

? ? ? ? if (j > i) {

? ? ? ? ? if (nums[i] + nums[j] == target) {

? ? ? ? ? return [i,j]

? ? ? ? ? }

? ? ? ? }

? ? ? }

? ? }

};

2.給定一個字符串焕蹄,請你找出其中不含有重復(fù)字符的?最長子串?的長度逾雄。

var lengthOfLongestSubstring = function(s) {

? ? var length=0

? ? //長度為零時

? ? if(s.length==0){

? ? ? return length

? ? ? }

? ? length = 1;

? ? var index = 0,has = 0

? ? for(var i=1;i<s.length;i++){

? ? ? ? //查看前i-1位是否含有第i位

? ? ? ? has = s.slice(index,i).indexOf(s[i])

? ? ? ? if(has == -1){

? ? ? ? ? ? //不包含則取長度長的

? ? ? ? ? ? length = Math.max(length,i-index+1)

? ? ? ? }else{

? ? ? ? ? ? //包含則從下一位開始匹配

? ? ? ? ? ? index = index+has+1

? ? ? ? }

? ? }

? ? return length

};

3.給出一個 32 位的有符號整數(shù),你需要將這個整數(shù)中每位上的數(shù)字進(jìn)行反轉(zhuǎn)腻脏。注意:

假設(shè)我們的環(huán)境只能存儲得下 32 位的有符號整數(shù)鸦泳,則其數(shù)值范圍為?[?231,? 231?? 1]。請根據(jù)這個假設(shè)永品,如果反轉(zhuǎn)后整數(shù)溢出那么就返回 0做鹰。

var reverse = function(x) {

? ? var isPlus = true

? ? var num = 0

? ? if(x<0){

? ? ? ? //數(shù)值為負(fù)數(shù)時

? ? ? ? isPlus = false

? ? }

? ? x = Math.abs(x)+""

? ? //十進(jìn)制反轉(zhuǎn)取整

? ? num = parseInt(x.split("").reverse().join(""),10)

? ? //溢出取0

? ? if(num>=(Math.pow(2,31)-1)){

? ? ? ? return 0

? ? }else{

? ? ? ? if(isPlus){

? ? ? ? ? ? return num

? ? ? ? }else{

? ? ? ? ? ? return -num

? ? ? ? }

? ? }

}

4.判斷一個整數(shù)是否是回文數(shù)《悖回文數(shù)是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數(shù)钾麸。

var isPalindrome = function(x) {



? ? if(x<0){

? ? ? ? return false

? ? }

? ? x=x+""

? ? if(x.length == 1){

? ? ? ? return true

? ? }

? ? //如果整數(shù)的長度是偶數(shù),則前半部分和后半部分反轉(zhuǎn)結(jié)果相同

? if(x.length%2==0){

? ? ? if(x.slice(0,x.length/2) == x.slice(x.length/2).split("").reverse().join("")){

? ? ? ? ? return true

? ? ? }else{

? ? ? ? ? return false

? ? ? }

? ? ? //奇數(shù)時炕桨,從中間那一位的左邊和右邊反轉(zhuǎn)相同

? }else{

? ? ? if(x.slice(0,(x.length-1)/2) ==x.slice((x.length-1)/2+1).split("").reverse().join("")){

? ? ? ? ? return true

? ? ? }else{

? ? ? ? ? return false

? ? ? }

? }

};

5.羅馬數(shù)字包含以下七種字符:?I饭尝,?V,?X献宫,?L钥平,C,D?和?M姊途。

字符? ? ? ? ? 數(shù)值

I? ? ? ? ? ? 1

V? ? ? ? ? ? 5

X? ? ? ? ? ? 10

L? ? ? ? ? ? 50

C? ? ? ? ? ? 100

D? ? ? ? ? ? 500

M? ? ? ? ? ? 1000

例如涉瘾, 羅馬數(shù)字 2 寫做?II?奈惑,即為兩個并列的 1。12 寫做?XII?睡汹,即為?X?+?II?肴甸。 27 寫做??XXVII, 即為?XX?+?V?+?II?。

通常情況下囚巴,羅馬數(shù)字中小的數(shù)字在大的數(shù)字的右邊原在。但也存在特例,例如 4 不寫做?IIII彤叉,而是?IV庶柿。數(shù)字 1 在數(shù)字 5 的左邊,所表示的數(shù)等于大數(shù) 5 減小數(shù) 1 得到的數(shù)值 4 秽浇。同樣地浮庐,數(shù)字 9 表示為?IX。這個特殊的規(guī)則只適用于以下六種情況:

I?可以放在?V?(5) 和?X?(10) 的左邊柬焕,來表示 4 和 9审残。

X?可以放在?L?(50) 和?C?(100) 的左邊,來表示 40 和?90斑举。?

C?可以放在?D?(500) 和?M?(1000) 的左邊搅轿,來表示?400 和?900。

給定一個羅馬數(shù)字富玷,將其轉(zhuǎn)換成整數(shù)璧坟。輸入確保在 1?到 3999 的范圍內(nèi)。

var romanToInt = function(s) {

? ? var result = 0

? ? s = s.split('')

? ? //先將所有羅馬數(shù)字相加

? ? s.forEach((v,i)=>{

? ? ? ? switch(v){

? ? ? ? ? ? case 'I': result+=1

? ? ? ? ? ? break;


? ? ? ? ? ? case 'V': result+=5

? ? ? ? ? ? break;


? ? ? ? ? ? case 'X': result+=10

? ? ? ? ? ? break;


? ? ? ? ? ? case 'L': result+=50

? ? ? ? ? ? break;


? ? ? ? ? ? case 'C': result+=100

? ? ? ? ? ? break;


? ? ? ? ? ? case 'D': result+=500

? ? ? ? ? ? break;


? ? ? ? ? ? case 'M': result+=1000

? ? ? ? ? ? break;

? ? ? ? }

? ? })

? ? //再減去特殊的羅馬數(shù)字?jǐn)?shù)值

? ? for(var i = 0;i<s.length-1;i++){

? ? ? ? switch(s[i]+s[i+1]){

? ? ? ? ? ? case 'IV':

? ? ? ? ? ? case 'IX': result-=2

? ? ? ? ? ? break;


? ? ? ? ? ? case 'XL':

? ? ? ? ? ? case 'XC': result-=20

? ? ? ? ? ? break;


? ? ? ? ? ? case 'CD':

? ? ? ? ? ? case 'CM': result-=200

? ? ? ? ? ? break;


? ? ? ? }

? ? }

? ? return result

};

6.編寫一個函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴赎懦。

如果不存在公共前綴雀鹃,返回空字符串""。

var longestCommonPrefix = function(strs) {

? ? var result = ""

? ? var shortLengthIndex = 0

? ? var shortLength = 50

? ? //長度為0時励两,直接返回""

? ? if(strs.length == 0){

? ? ? return ""

? ? }

? ? strs.forEach((v,i)=>{

? ? ? ? //獲取長度最短的字符串

? ? ? ? if(v.length<shortLength){

? ? ? ? ? ? shortLength = v.length

? ? ? ? ? ? shortLengthIndex = i

? ? ? ? }

? ? })

? ? // return shortLengthIndex

? ? ? ? // console.log(shortLengthIndex)

? ? ? ? function demo(){

? ? ? ? ? ? for(var i=0;i<strs.length;i++){?

? ? ? ? ? ? ? ? //遍歷數(shù)組黎茎,是否每個元素都含有長度最小的元素且在最前面

? ? ? ? ? ? ? ? if(strs[i].indexOf(strs[shortLengthIndex])!=0){

? ? ? ? ? ? ? ? ? if(strs[shortLengthIndex].length <= 1){

? ? ? ? ? ? ? ? ? ? ? //當(dāng)元素為1時則為沒有共同前綴,

? ? ? ? ? ? ? ? ? ? ? ? strs[shortLengthIndex] = ""

? ? ? ? ? ? ? ? ? ? ? }else{

? ? ? ? ? ? ? ? ? ? ? ? ? //切減最小元素伐蒋,減一位工三,遞歸

? ? ? ? ? ? ? ? ? ? ? ? strs[shortLengthIndex] = strs[shortLengthIndex].slice(0,strs[shortLengthIndex].length-1)

? ? ? ? ? ? ? ? ? ? ? ? demo()

//? ? ? ? ? ? ? ? ? ? ? ? ? return strs[shortLengthIndex]

//? ? ? ? ? ? ? ? ? ? ? ? console.log(strs[shortLengthIndex])

? ? ? ? ? ? ? ? ? ? ? }


? ? ? ? ? ? ? }

? ? ? ? }


? ? }

? demo()

? return strs[shortLengthIndex]


};

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市先鱼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌奸鬓,老刑警劉巖焙畔,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異串远,居然都是意外死亡宏多,警方通過查閱死者的電腦和手機(jī)儿惫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來伸但,“玉大人肾请,你說我怎么就攤上這事「郑” “怎么了铛铁?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長却妨。 經(jīng)常有香客問我饵逐,道長,這世上最難降的妖魔是什么彪标? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任倍权,我火速辦了婚禮,結(jié)果婚禮上捞烟,老公的妹妹穿的比我還像新娘薄声。我一直安慰自己,他們只是感情好题画,可當(dāng)我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布奸柬。 她就那樣靜靜地躺著,像睡著了一般婴程。 火紅的嫁衣襯著肌膚如雪廓奕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天档叔,我揣著相機(jī)與錄音桌粉,去河邊找鬼。 笑死衙四,一個胖子當(dāng)著我的面吹牛铃肯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播传蹈,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼押逼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了惦界?” 一聲冷哼從身側(cè)響起挑格,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎沾歪,沒想到半個月后漂彤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年挫望,在試婚紗的時候發(fā)現(xiàn)自己被綠了立润。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡媳板,死狀恐怖桑腮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蛉幸,我是刑警寧澤破讨,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站巨缘,受9級特大地震影響添忘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜若锁,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一搁骑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧又固,春花似錦仲器、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至洋只,卻和暖如春辆沦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背识虚。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工肢扯, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人担锤。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓蔚晨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親肛循。 傳聞我的和親對象是個殘疾皇子铭腕,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容