今天看了下算法 先来两个开开胃算法
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 相信你们在网上看到过 数组
思路 从左下角 第一列 最后一行开始找 小于向上找 大于向后找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) //不在复制代码
请实现一个函数,将一个字符串中的空格替换成“%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函数