js算法1

今天看了下算法 先來兩個開開胃算法

  1. 在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。 相信你們在網上看到過 數組

    思路 從左下角 第一列 最後一行開始找 小於向上找 大於向後找bash

    var arr = [[2,3,7,10],[5,8,13,15],[11,16,17,18],[12,19,20,25],[35,36,37,38]] 
    console.log(arr)  //[Array(4),Array(4), Array(4), Array(4), Array(4)]
    //這樣一個二維數組
    function Search(target, arr) {
     //二維數組是有行跟列的
     var rownum = arr.length //行數 5
     var colnum = arr[0].length //列數 4
    
     var ri = rownum-1
     var ci = 0    //坐下角  是第4(ri)行第0(ci)列
     while(ri>=0 &&ci<=colnum-1) {  
         if(target>arr[ri][ci]) {
             ci++
         } else if(target<arr[ri][ci]) {
             ri--
         } else {
            return console.log('在')
         }
     }
     return console.log('不在')
    }
    Search(16, arr) //在
    Search(100, arr) //不在複製代碼
  2. 請實現一個函數,將一個字符串中的空格替換成「%20」。例如,當字符串爲We Are Happy.則通過替換以後的字符串爲We%20Are%20Happy。 這個題目估計你們也都見過app

var str = 'We Are Happy'
// 這道題最簡單的解法就是使用正則來表達  
function strtrim(str) {
    return str.replace(/\s/g, '%20') //\s 匹配空白字符

}
console.log(strtrim(str))複製代碼

js算法2函數

相關文章
相關標籤/搜索