国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

經(jīng)典的遞歸面試題

enali / 3524人閱讀

摘要:遞歸閉包解決也就是存在數(shù)組中,再次循環(huán)時(shí),如果數(shù)組中已經(jīng)存在,就返回?cái)?shù)組中的值,大大減少了遞歸調(diào)用函數(shù)的次數(shù)第位只是占位,從第一位開始算起如果中存在,返回這個(gè)值普通普通循環(huán)解決這個(gè)問題是性能最好的。

細(xì)胞分裂
細(xì)胞分裂 有一個(gè)細(xì)胞 每一個(gè)小時(shí)分裂一次,一次分裂一個(gè)子細(xì)胞,第三個(gè)小時(shí)后會(huì)死亡。那么n個(gè)小時(shí)候有多少細(xì)胞?
這個(gè)問題的核心就是三個(gè)小時(shí)為一個(gè)周期
// 每三個(gè)小時(shí)為一個(gè)周期 , 第四個(gè)小時(shí)就 go die 了。
// 方法一
// 第一個(gè)小時(shí),只有a態(tài)細(xì)胞;第二個(gè)小時(shí),a態(tài)細(xì)胞分裂,原來的a態(tài)細(xì)胞變成了b態(tài)細(xì)胞,分裂出來的細(xì)胞變成了新的a態(tài)細(xì)胞;第三個(gè)小時(shí),a態(tài)細(xì)胞繼續(xù)分裂變成b態(tài)細(xì)胞和新的a態(tài)細(xì)胞,b態(tài)細(xì)胞分裂變成c態(tài)細(xì)胞和a態(tài)細(xì)胞;第四個(gè)小時(shí),a、b、c態(tài)細(xì)胞都會(huì)分裂,并且按照之前的規(guī)律轉(zhuǎn)變。得出下面的結(jié)論
// a 初始態(tài) 一個(gè)小時(shí) 前一個(gè)小時(shí)的 a+b+c
// b 幼年態(tài) 兩個(gè)小時(shí) 前一個(gè)小時(shí)的 a
// c 成熟態(tài) 三個(gè)小時(shí) 前一個(gè)小時(shí)的 b
function allCell(n){
    // a態(tài)細(xì)胞
    let aCell = function(n){
        if(n==1){
            return 1;
        }else{
            return aCell(n-1)+bCell(n-1)+cCell(n-1);
        }
    }
    // b態(tài)細(xì)胞
    let bCell = function(n){
        if(n==1){
            return 0;
        }else{
            return aCell(n-1);
        }
    }
    // c態(tài)細(xì)胞
    let cCell = function(n){
        if(n==1||n==2){
            return 0;
        }else{
            return bCell(n-1);
        }
    }
    return aCell(n)+bCell(n)+cCell(n)
}
console.log(allCell(10))
// 方法二
// 這個(gè)方法就是分成了 活著的 和 死亡的
function cell(hour){
    // 活著的細(xì)胞
    function livecell(hour){
        if(hour<4){
            // 前三個(gè)小時(shí)沒有死亡的細(xì)胞 成2的n-1次方增長
            return Math.pow(2,hour-1)
        }else{
            // 從第四個(gè)小時(shí)開始有死亡的細(xì)胞 
            // 活著的細(xì)胞 = 前一個(gè)小時(shí)活著的細(xì)胞 - 這個(gè)小時(shí)死去的細(xì)胞
            return livecell(hour-1)*2 - diecell(hour)
        }
    }
    // 死亡的細(xì)胞
    function diecell(hour){
        if(hour<4){
            // 前三個(gè)小時(shí)沒有死亡的細(xì)胞
            return 0
        }else{
            // 因?yàn)槿齻€(gè)小時(shí)一個(gè)周期
            // 也就是每三個(gè)小時(shí),(n-3)時(shí)的細(xì)胞就會(huì)死完
            // 那么 這個(gè)小時(shí)(n)死去的細(xì)胞 + 上個(gè)小時(shí)(n-1)死去的細(xì)胞 + 前兩個(gè)小時(shí)(n-2)死去的細(xì)胞 = 前三個(gè)小時(shí)(n-3)活著的細(xì)胞
            return livecell(hour-3) - diecell(hour-1) - diecell(hour-2)
        }
    }
    return livecell(hour)
}
console.log(cell(10))
斐波那契數(shù)列
又稱兔子數(shù)列,是以兔子繁殖為例,得出這樣一個(gè)數(shù)列:1,1,2,3,5,8... 指從第三個(gè)值開始,每個(gè)值都是前兩個(gè)值的和。
// 遞歸
    let a = 0;
    function tu(num){
        a++
        if(num==1||num==2){
            return 1
        }
        let nums = tu(num-1)+tu(num-2)
        return nums
    }
    console.log(tu(8),a)
// 閉包解決
    // 也就是存在數(shù)組中,再次循環(huán)時(shí),如果數(shù)組中已經(jīng)存在,就返回?cái)?shù)組中的值,大大減少了遞歸調(diào)用函數(shù)的次數(shù)
    var count2=0;
    var fiba = (function(){
        var arr = [0,1,1];   //第0位只是占位,從第一位開始算起
        return function(n){
            count2++;   
            var res=arr[n]; 
            if(res){// 如果arr中存在,返回這個(gè)值
                console.log(res,"----")
                return res;
            }else{
                console.log(arr[n],"+++++")
                arr[n]=fiba(n-1)+fiba(n-2);
                return arr[n];
            }   
        }
    })();
    console.log(fiba(8),count2)
// 普通
    // 普通循環(huán)解決這個(gè)問題是性能最好的。
    let a = 1;
    let b = 1
    let c;
    function tu(num){
        for(let i=0;i
64格子
有 64 個(gè)格子,第一個(gè)格子放一粒麥子,第二個(gè)放2粒,第三個(gè)放4粒...每個(gè)格子都是前邊的兩倍。一共有多少粒?
let sum = 0
let start = 1;
let end = 0;
function tow(){
    if(end>=64){
        return false
    }
    sum+=start
    start*=2
    end++
    tow()
}
tow()
console.log(sum)
使用遞歸實(shí)現(xiàn)數(shù)組快速排序方法
這個(gè)問題的核心思想是 取中間值,然大的放一邊,小的放一邊,然后再對兩邊執(zhí)行一樣的操作,也就是遞歸了。
var mysort = function(arr){
    // 結(jié)束條件
    if(arr.length<=1){
        return arr
    }
    // 找基準(zhǔn)值 數(shù)組中間值
    // 求下標(biāo)
    var center = Math.floor(arr.length/2)
    var jZ = arr.splice(center,1)[0]
    // 創(chuàng)建兩個(gè)空數(shù)組
    var left = [] , right = [];
    // 循環(huán)數(shù)組,并進(jìn)行比較
    for(var i=0;i
九九乘法表
// 遞歸
function num(nums){
    if(nums==1){
        console.log("1x1=1")
    }else{
        num(nums-1)
        for(var i=1,str="";i<=nums;i++){
            str += `${i}x${nums}=`+i*nums+" "
        }
        console.log(str)
    }
}
num(9)
// 循環(huán)
for(var i=1;i<10;i++){
    let str = ""
    for(var j=1;j<10;j++){
        if(i>=j){
            str += `${j}x${i}=`+i*j+" "
        }
    }
    console.log(str)
}

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/102825.html

相關(guān)文章

  • 前端經(jīng)典面試總結(jié)

    摘要:接著我之前寫的一篇有關(guān)前端面試題的總結(jié),分享幾道比較經(jīng)典的題目第一題考點(diǎn)作用域,運(yùn)算符栗子都會(huì)進(jìn)行運(yùn)算,但是最后之后輸出最后一個(gè)也就是那么其實(shí)就是而且是個(gè)匿名函數(shù),也就是屬于,就輸出第二和第三個(gè)都是類似的,而且作用域是都是輸出最后一個(gè)其實(shí)就 接著我之前寫的一篇有關(guān)前端面試題的總結(jié),分享幾道比較經(jīng)典的題目: 第一題: showImg(https://segmentfault.com/im...

    BlackMass 評論0 收藏0
  • 高級(jí)函數(shù)技巧-函數(shù)柯里化

    摘要:如果你對函數(shù)式編程有一定了解,函數(shù)柯里化是不可或缺的,利用函數(shù)柯里化,可以在開發(fā)中非常優(yōu)雅的處理復(fù)雜邏輯。同樣先看簡單版本的方法,以方法為例,代碼來自高級(jí)程序設(shè)計(jì)加強(qiáng)版實(shí)現(xiàn)上面函數(shù),可以換成任何其他函數(shù),經(jīng)過函數(shù)處理,都可以轉(zhuǎn)成柯里化函數(shù)。 我們經(jīng)常說在Javascript語言中,函數(shù)是一等公民,它們本質(zhì)上是十分簡單和過程化的。可以利用函數(shù),進(jìn)行一些簡單的數(shù)據(jù)處理,return 結(jié)果,...

    shixinzhang 評論0 收藏0
  • 前端面試收集,持續(xù)更新中

    摘要:對于所訪問的每個(gè)元素,函數(shù)應(yīng)該將該元素傳遞給所提供的回調(diào)函數(shù)。 HTML 在線閱讀Github地址 題目列表 HTML HTML和XHTML的區(qū)別 Html的語義化 Doctype的文檔類型 cookie、sessionSttorage、localStory區(qū)別 HTML全局屬性(global attribute)有哪些? 常見的瀏覽器內(nèi)核有哪些? 介紹一下你對瀏覽器內(nèi)核的理解?...

    kgbook 評論0 收藏0
  • 前端面試收集,持續(xù)更新中

    摘要:對于所訪問的每個(gè)元素,函數(shù)應(yīng)該將該元素傳遞給所提供的回調(diào)函數(shù)。 HTML 在線閱讀Github地址 題目列表 HTML HTML和XHTML的區(qū)別 Html的語義化 Doctype的文檔類型 cookie、sessionSttorage、localStory區(qū)別 HTML全局屬性(global attribute)有哪些? 常見的瀏覽器內(nèi)核有哪些? 介紹一下你對瀏覽器內(nèi)核的理解?...

    2json 評論0 收藏0
  • 前端面試收集,持續(xù)更新中

    摘要:對于所訪問的每個(gè)元素,函數(shù)應(yīng)該將該元素傳遞給所提供的回調(diào)函數(shù)。 HTML 在線閱讀Github地址 題目列表 HTML HTML和XHTML的區(qū)別 Html的語義化 Doctype的文檔類型 cookie、sessionSttorage、localStory區(qū)別 HTML全局屬性(global attribute)有哪些? 常見的瀏覽器內(nèi)核有哪些? 介紹一下你對瀏覽器內(nèi)核的理解?...

    adam1q84 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<