首页 > 其他分享 >BM18 二维数组中的查找

BM18 二维数组中的查找

时间:2022-12-31 14:56:16浏览次数:43  
标签:arr return target BM18 二维 查找 let 数组 array

题目描述

给定一个每个元素都是升序数组的二维数组和一个target,判断target是否在数组中
返回boolean类型

思路分析

  1. 方法一: 遍历每个元素,判断是否相等
  2. 方法二:将数组拍平,也就是数组扁平化,之后在判断里面有没有该target
  3. 方法三:对每个子数组都是用二分查找法,去判断其中有没有

代码参考


const Find1 = function (target, array) {
  for (let arr of array) {
    for (let ar of arr) {
      if (ar === target) return true
    }
  }
  return false
}
const Find2 = function (target, array) {
  // toString之后再做处理
  //  return array.toString().split(',').map(item => Number(item)).includes(target)
  // 自带的flat方法
  return array.flat().includes(target)
}
function Find (target, array) {
  for (let arr of array) {
    let len = arr.length
    if (!len) {
      // 如果子元素是个空元素,则直接跳过
      continue
    }
    // 二分查找
    let [left, right] = [0, len - 1]
    while (left <= right) {
      let mid = left + Math.floor((right - left) / 2)
      if (target === arr[mid]) return true
      else if (target < arr[mid]) right = right - 1
      else left = left + 1
    }
    console.log('没有找到')

  }
  return false
}

标签:arr,return,target,BM18,二维,查找,let,数组,array
From: https://www.cnblogs.com/zx529/p/17016650.html

相关文章

  • BM17 二分查找-I
    题目描述请实现无重复数字的升序数组的二分查找给定一个元素升序的、无重复数字的整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在......
  • Linux&shell通过正则表达式查找文件练习
    linux&shell编程中通过正则表达式来匹配查找文件极大的提高查找效率。首先,解释一下下边出现的命令。linux部分:ls:查看文件夹内的命令。|:管道。grep:搜索后边匹配的字符......
  • C# 在excel中查找及替换数据
    在使用Excel处理数据时,有时候工作表内容很多,如果手动地一行一行的找数据很难发现它们在哪个地方。微软Excel给我们提供了一个很强大的数据处理功能-查找和替换,通过这个功能,......
  • 力扣二分查找
    题目给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,......
  • 二分查找
    题目题目地址描述请实现无重复数字的升序数组的二分查找给定一个元素升序的、无重复数字的整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果......
  • 【LeeCode】34. 在排序数组中查找元素的第一个和最后一个位置
    【题目描述】给你一个按照非递减顺序排列的整数数组 ​​nums​​​,和一个目标值 ​​target​​。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目......
  • 【LeetCode数组#1二分查找】二分查找、搜索插入、在排序数组中查找元素的第一个和最后
    二分查找题目力扣704题目链接给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。......
  • 关于二维码,你知道多少?
    "请扫场所码"、"乘车请扫码"、"支付请扫码"等等。如今,二维码作为移动支付、信息查询、身份识别等功能的载体,已经渗透到我们生活的方方面面,潜移默化地改变着我们的生活......
  • 二维数组、数组指针以及指针数组
     1.二维数组定义  格式:数据类型数组名[行][列];  示例:intbuff[3][5];  第一个[3]表示二维数组buff中有3个一位数组  第二个[5]表示每个一维数组中有5个......
  • 查找蓝牙WiFi功能,搜索名字并列举出来
    先有一个概念,蓝牙分为普通蓝牙和低功耗(BLE)蓝牙,低功耗蓝牙激活时信号和普通蓝牙信号一样,低功耗时必须搜索低功耗蓝牙信号如果使用普通代码搜索,不能搜索到低功耗蓝牙信号......