国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - JavaScript實現twitter puddles算法實例

JavaScript實現twitter puddles算法實例

2021-05-05 17:07JavaScript教程網 JavaScript

這篇文章主要介紹了JavaScript實現twitter puddles算法實例,本文源自twitter的一道面試題,本文使用js解開了這首題,需要的朋友可以參考下

今天發現了一個挺好玩的算法題,下面是它的算法描述,源自twitter的一道面試題。

twitter puddles 算法描述

先看一副圖

JavaScript實現twitter puddles算法實例

上圖里的數字是根據一個數組內容來描述的,最后會根據每個數字的大小來模擬一道墻的高度,最后生成一面墻,問你,當下雨的時候,這面墻可以裝多少水,以1為計數單位。

下面是裝完水之后的一面墻的樣子

JavaScript實現twitter puddles算法實例

看完上面上幅圖,感覺是不是很好玩,確實,下面來簡單的分析下它的算法實現

其實這個原理比較簡單,總共有下面幾個要點:

1.最左邊和最右邊肯定不能裝水
2.裝水的高度依賴自身左右兩側內兩個最大值其中的最小值

下面我們用js來簡單的實現它:

 

復制代碼 代碼如下:

/**
*  計算以數組項為高度的墻能裝多少水
*  數組例子 [2,5,1,2,3,4,7,7,6,9]
**/
function getWaterCounts(arg){
    var i = 0,
        j = 0,
        count = 0;
    // 第一項和最后一項都得排除
    for(i = 1; i < arg.length - 1; i++){
        var left = Math.max.apply(null, arg.slice(0, i + 1));
        var right = Math.max.apply(null, arg.slice(i, arg.length));
        var min = left >= right ? right : left;
        // 以左右兩邊最大值內小的為準
        // 假如當前值大于或者等于這個值什么都不做
        if(arg[i] < min){
            count += min - arg[i];
        }
    }
    console.log(count);
}
getWaterCounts([2,5,1,2,3,4,7,7,6,9]); // 11

 

總結

嘿嘿,實現是不是挺簡單的,其實只要你愿意思考,用js可以實現很多好玩的東西.

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产黄色小视频在线观看 | 中文字幕久久精品 | 国产天天操 | 伊人欧美一区 | 国产成人精品亚洲日本在线观看 | 国产第一夜 | 成人av免费在线播放 | av亚洲在线| 美日韩精品 | 精品久久久久久久 | 国产毛片久久久 | 国产精品区二区三区日本 | 欧美一级看片a免费观看 | 亚洲视频www | 成人综合区一区 | 91精品国产乱码久 | 国产一区二区视频在线 | www.久久精品 | 国产精品久久久久久久久免费桃花 | 中文字幕国产视频 | 亚洲男人的天堂网站 | 国产精品影视 | 亚洲欧美一区二区三区国产精品 | 青青草免费在线视频 | 日韩国产一区二区 | 伊人伊人伊人 | 精品久久久久久久久久久久久久 | 一级做a爰片性色毛片精油 欧美中文字幕在线观看 | 久久久久一区二区 | 国产精品国产三级国产aⅴ中文 | 夜夜爽99久久国产综合精品女不卡 | 中文字幕一区二区三区乱码图片 | 精品视频在线一区 | 成人av网站免费观看 | 欧美国产精品一区 | 午夜爱爱毛片xxxx视频免费看 | 人人人人澡人人爽人人澡 | 日本一区二区三区在线视频 | 亚洲一区二区免费看 | 久久国产乱| 蜜桃成人在线视频 |