二分查找

/**

  • 实现二分查找算法
  • 如下有个数组 arr
  • arr元素都是数字
  • 现在要查找数组中的某个元素
  • 请用二分查找算法实现
    */
    /eslint-disable no-unused-vars /
    const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    /
  • @param {number} target 要查找的元素
  • @param {array} list 要查找的数组
  • @return {number} 返回该元素对应的索引
    */
    /*eslint-disable no-unused-vars */

function find(list, target) {
// 请编写逻辑
var low = 0,
high = list.length - 1;
while (low <= high) {
var mid = parseInt((high + low) / 2);
if (target == list[mid]) {
return mid;
} else if (target > list[mid]) {
low = mid + 1;
} else if (target < list[mid]) {
high = mid - 1;
} else {
return -1;
}
}

}
var result = find(arr, 9)
console.log(result)//打印出来的是索引

/**

  • 请用一句代码随机打乱一个数组,数组如下:
    */
    const nums = [2, 6, 8, 1, 5, 9];

// 请实现要求
console.log(Math.floor(Math.random() * nums))

/**

  • 实现一个event类
  • 可以任意添加该类的成员属性或者方法,
  • 实现on方法的逻辑
  • 实现emit方法的逻辑
  • 最终按照下方的调用能够展示正确的结果
    */

class Event {
on() {
// 实现该方法逻辑

}
emit() {
// 实现该方法逻辑

}
}

let ev = new Event();

ev.on(‘first’, () => {
console.log(‘first-console-1’);
});

ev.on(‘second’, () => {
console.log(‘second-console-1’);
});

ev.on(‘first’, () => {
console.log(‘first-console-2’);
});
ev.on(‘second’, () => {
console.log(‘second-console-2’);
});

ev.emit(‘first’); // first-console-1 first-console-2
ev.emit(‘second’); // second-console-1 second-console-2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值