实现二分查找
function erFen(target,array) {
let left = 0;
let right = array.length - 1;
while(left <= right) {
let middle = Math.floor((left + right)/2);
if (array[middle] === target) {
return true;
}else if (array[middle] < target) {
left = middle + 1;
}else {
right = middle - 1;
}
}
return false;
}
执行如下
二维数组的查找
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路
- 首先是有顺序的无论行还是列
- 取二维数组中第一个数组的最后一位或者最后一个数组的第一位与target进行比较
function Find(target, array){
let col = 0;
let row = array.length -1;
while(row >= 0 && col <= array.length -1) {
if (target < array[col][row]){
row --;
}else if(target === array[col][row]) {
return true;
}else{
col ++;
}
}
return false
}
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!