亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

LeetCode解題筆記(1)

2024-04-27 15:13:12
字體:
來源:轉載
供稿:網友
前天開始知道有LeetCode的存在,抱著試一試的心態,嘗試著做了幾道題,幾乎都是暴力求解,也看到自己在這方面的欠缺。下面是做題的一些體會。1.Two SumGiven an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the same element twice.大意:給定一個整數數組,找出其中兩個數滿足相加等于你指定的目標數字。你可以假設每一個輸入肯定只有一個結果。

將我的暴力求解貼出來:

/** * @param {number[]} nums * @param {number} target * @return {number[]} */var twoSum = function(nums, target) {    for(var i = 0;i < nums.length;i++){        for(var j = i+1;j < nums.length;j++ ){            if((nums[i]+nums[j]) === target){                return [i,j];            }        }    }};時間復雜度O(n^2)想了一下改進方法:可以先將數組內的元素排好序,設置一個low指針,一個high指針,分別指向頭、尾元素。將兩指針指向的元素相加,若大于target,high指針向前移;若小于target,low指針向后移。(還沒實踐,不知正確否)

13.Roman To Integer

Given a roman numeral, convert it to an integer.

Input is guaranteed to be within the range from 1 to 3999

大意:將給定的羅馬數字轉換成整數,范圍是1-3999

雖然特意挑的難度為easy的題目,但是不知道羅馬數字規則的我,一下子有些蒙,故百度之。

羅馬數字符號對應的數值如下:

I

1

V

5

X

10

L

50

C

100

D

500

M

1000

計數規則:相同的數字連寫,所表示的數等于這些數字相加得到的數,例如:III = 3小的數字在大的數字右邊,所表示的數等于這些數字相加得到的數,例如:VIII = 8小的數字,限于(I、X和C)在大的數字左邊,所表示的數等于大數減去小數所得的數,例如:IV = 4正常使用時,連續的數字重復不得超過三次在一個數的上面畫橫線,表示這個數擴大1000倍(本題只考慮3999以內的數,所以用不到這條規則)其次,羅馬數字轉阿拉伯數字規則(僅限于3999以內):從前向后遍歷羅馬數字,如果某個數比前一個數小,則加上該數。反之,減去前一個數的兩倍然后加上該數加粗即為解題關鍵了~ 
/** * @param {string} s * @return {number} */var romanToInt = function(s) {    var array = s.split("");    for(var i = 0;i < array.length;i++){        switch(array[i]){            case "I" :                array[i] = 1;                break;            case "V" :                array[i] = 5;                break;            case "X" :                array[i] = 10;                break;            case "L" :                array[i] = 50;                break;            case "C" :                array[i] = 100;                break;            case "D" :                array[i] = 500;                break;            case "M" :                array[i] = 1000;                break;        }    }        var total = array[0];    for(var j = 1;j < array.length;j++){       if(array[j] <= array[j-1]){           total += array[j];       }       else{           total = total - 2 * array[j-1] + array[j];       }    }        return total;};7.Reverse Integer

Reverse digits of an integer.

Example1: x = 123, return 321Example2: x = -123, return -321

Note:The input is assumed to be a 32-bit signed integer. Your function shouldreturn 0 when the reversed integer overflows.

這題的溢出條件當時給我折磨壞了!一個是32位,一個是當reverse完之后的數溢出返回0!因為這兩點沒注意到,wrong answer 和 running  error好幾次。。

先說下我的思路吧:因為我知道數組有一個array.reverse()方法,很方便。所以先用一個變量存正負狀態,然后將傳進來的數字轉換為字符串在轉化為數組再reverse再變成字符串再返回數字(我腦子可能有問題用了這么麻煩的辦法。。)代碼如下:

/** * @param {number} x * @return {number} */var reverse = function(x) {    var flag = 0;    if(x<=0){        flag = 0;        x = -x;    }else {        flag = 1;    }    var tem = x.toString().split("").reverse().join("");    var a = parseInt(tem);        var max = 0x7fffffff;        var min = 0x80000000;      if(a > max || a < -min) {           return 0;    }else{        if(flag){            return a;        }else{            return -a;        }     }};后來百度到一些大牛的方法,簡直秒殺我

 while(x > 0){ rev = x %10 +rev *10;  x = x/10;}

461.Hamming Distance

Example:

Input: x = 1, y = 4Output: 2Explanation:1   (0 0 0 1)4   (0 1 0 0)       ↑   ↑The above arrows point to positions where the corresponding bits are different. 直接放例子了 比較易懂

做這道題的一個困難的地方是 js 沒有直接十進制轉換為二進制的方法?

查到ArrayBuffer和TypedArray(這是真的不知道了。。)還有就是toString(2)轉換成二進制的字符串

我的思路:將傳進來的兩個數字轉換成二進制后split成數組,再將兩數組位數湊成一樣。(將長度短的數組前面補0,我怎么這么喜歡數組2333)

遍歷數組,有不同即flag++(就是按位異或,真的不知道js中的按位異或怎么實現?)

/** * @param {number} x * @param {number} y * @return {number} */var hammingDistance = function(x, y) {    x = x.toString(2).split("");    y = y.toString(2).split("");    if(x.length < y.length){        newarray(x,y);    }    else if(x.length > y.length){        newarray(y,x);    }        function newarray (a,b){        var arr = new Array(b.length - a.length);        for(var i = 0;i < arr.length;i++){            arr[i] = "0";        }        a = arr.concat(a);         return a,b;    }        var flag = 0;    for(var n = x.length,m = y.length;n > 0 , m > 0 ;n--,m--){        if(x[n] != y[m]){            ++flag;        }    }        return flag;};

這題肯定有更簡單的法子的!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美高清videos高潮hd| 午夜精品久久久久久久久久久久久| 日本三级韩国三级久久| 中文字幕自拍vr一区二区三区| 久久久在线免费观看| 国产精品美女主播| 91成人在线播放| 国产精品第一视频| 美女久久久久久久久久久| 中文欧美日本在线资源| 欧美日韩成人在线观看| 精品美女久久久久久免费| 亚洲综合中文字幕在线观看| 精品亚洲一区二区三区在线播放| 国产精品一香蕉国产线看观看| 欧美激情一区二区三区高清视频| 亚洲男人7777| 国产日韩在线视频| 欧美午夜视频一区二区| 久久久国产一区二区三区| 92看片淫黄大片欧美看国产片| 中文字幕久热精品视频在线| 中文字幕一精品亚洲无线一区| 97久久精品国产| 欧美日韩一区免费| 538国产精品一区二区在线| 一区二区欧美在线| 国产亚洲欧洲黄色| 一区二区三区亚洲| 上原亚衣av一区二区三区| 国产精品福利无圣光在线一区| 在线视频日韩精品| 成人午夜在线视频一区| 欧美黑人xxxⅹ高潮交| 日韩欧美国产网站| 久久777国产线看观看精品| 亚洲四色影视在线观看| 欧美午夜片在线免费观看| 一本色道久久88亚洲综合88| 欧美精品videosex性欧美| 中文字幕av一区| 日韩在线免费视频观看| 国产成人avxxxxx在线看| 久久全球大尺度高清视频| 久久久久国产一区二区三区| 欧美日本啪啪无遮挡网站| 4p变态网欧美系列| 欧美黑人视频一区| 美女精品视频一区| 九九热这里只有在线精品视| 国产一区玩具在线观看| 日韩精品黄色网| 欧美在线激情网| 91在线观看免费高清| 中文字幕视频一区二区在线有码| 国产成人高清激情视频在线观看| 国产精品美女呻吟| 精品偷拍各种wc美女嘘嘘| 久久不射热爱视频精品| 久久久久久久久电影| 久久久久亚洲精品成人网小说| 亚洲人成在线观看网站高清| 久久视频在线观看免费| 亚洲精品久久久久久久久| 亚洲欧美国产制服动漫| 欧美国产中文字幕| 欧美激情三级免费| 色综合天天综合网国产成人网| 欧美人与物videos| 欧美专区在线视频| 亚洲欧美日韩第一区| 日韩视频精品在线| 国产精品777| 亚洲精品欧美极品| 久久久久国色av免费观看性色| 国产精品96久久久久久| 中文字幕日韩av电影| 亚洲欧美日韩第一区| 欧美性生活大片免费观看网址| 一区二区在线视频| 91精品国产综合久久久久久蜜臀| 欧美一级免费看| 亚洲欧美在线免费观看| 亚洲在线观看视频| 激情久久av一区av二区av三区| 精品久久久久久国产91| 亚洲毛片一区二区| 欧美高清视频在线| 日韩高清欧美高清| 中文字幕少妇一区二区三区| 欧美xxxx做受欧美| 色偷偷88888欧美精品久久久| 亚洲欧美国产精品久久久久久久| 久久综合伊人77777| 亚洲精品免费av| 日韩欧美在线视频日韩欧美在线视频| 久久久精品国产亚洲| 欧美性资源免费| 亚洲乱码av中文一区二区| 欧美亚洲另类视频| 日韩在线播放av| 亚洲人成在线播放| 国产精品99久久久久久www| 国产精品久久久久久av| 亚洲国产成人在线视频| 蜜臀久久99精品久久久久久宅男| 亚洲成人aaa| 亚洲精品久久久久国产| 日韩中文av在线| 亚洲欧美精品suv| 久久久国产视频91| 欧美一区二三区| 色偷偷偷亚洲综合网另类| 国产香蕉精品视频一区二区三区| 成人性生交大片免费看视频直播| 欧美激情视频在线观看| 亚洲视频专区在线| 国产日产久久高清欧美一区| 成人在线国产精品| 亚洲视频在线看| 久久成人av网站| 欧美中文字幕在线视频| 中文字幕v亚洲ⅴv天堂| 亚洲日本aⅴ片在线观看香蕉| 欧美第一黄网免费网站| 精品国产一区二区在线| 91在线中文字幕| 久久理论片午夜琪琪电影网| 欧美做受高潮1| 欧美性jizz18性欧美| 国产精品高潮呻吟久久av黑人| 欧美性感美女h网站在线观看免费| 欧美交受高潮1| 久久伊人免费视频| 欧美日韩在线视频观看| 欧美综合第一页| 日韩在线观看网址| 欧美激情一区二区三区高清视频| 成人高清视频观看www| 亚洲一区二区免费在线| 国产亚洲欧美日韩精品| 久久久久99精品久久久久| 午夜精品理论片| 欧美乱大交xxxxx| 成人黄色影片在线| 懂色aⅴ精品一区二区三区蜜月| 一区二区欧美激情| 日韩欧美黄色动漫| 亚洲视频免费一区| 国产精品嫩草影院一区二区| 国产一区二区三区视频免费| 国内精品久久久久久影视8| 国产一区二区三区在线播放免费观看| 欧美大片大片在线播放| 性欧美在线看片a免费观看| 性亚洲最疯狂xxxx高清| 大伊人狠狠躁夜夜躁av一区| 国产日韩精品电影| 国产成人在线一区| 欧美大片免费观看在线观看网站推荐| 中日韩美女免费视频网址在线观看| 亚洲最大福利网站| 国产在线视频一区| 亚洲护士老师的毛茸茸最新章节|