当前位置: 首页 > news >正文

邢台网站网页设计公司包包网站建设

邢台网站网页设计公司,包包网站建设,买空间域名做网站,淘宝开店网站怎么做文章目录 35. 搜索插入位置Solution 74. 搜索二维矩阵Solution 34. 在排序数组中查找元素的第一个和最后一个位置 35. 搜索插入位置 给定一个排序数组和一个目标值#xff0c;在数组中找到目标值#xff0c;并返回其索引。如果目标值不存在于数组中#xff0c;返回它将会被… 文章目录 35. 搜索插入位置Solution 74. 搜索二维矩阵Solution 34. 在排序数组中查找元素的第一个和最后一个位置 35. 搜索插入位置 给定一个排序数组和一个目标值在数组中找到目标值并返回其索引。如果目标值不存在于数组中返回它将会被按顺序插入的位置。 Solution class Solution:def searchInsert(self, nums: List[int], target: int) - int:low 0high len(nums) - 1while low high:i (low high) // 2if target nums[i]:high i - 1elif target nums[i]:low i 1else:return ireturn low在target大于nums[i]的情况下你应该让low变为i1因为你已经知道nums[i]不等于target所以下一次循环应该从i1开始查找。同理如果target小于nums[i]你应该让high变为i-1因为你已经知道nums[i]不等于target所以下一次循环应该查找到i-1。 while循环的条件应该为low high因为当low和high指向同一个元素时我们仍然需要检查这个元素是否等于目标值。如果while循环的条件为low high那么当low和high指向同一个元素时循环就会结束可能会漏掉这个元素。 当我们在二分查找中没有找到目标值时 如果目标值比所有数组元素都大那么搜索将结束在low指针指向数组末尾之后的位置high指针将在数组的最后一个元素。此时返回low是正确的因为这是目标值应插入的位置。 如果目标值比所有数组元素都小那么搜索将结束在low指针指向数组的第一个元素high指针将在数组的起始位置之前。此时返回low也是正确的因为这是目标值应插入的位置。 如果目标值在数组的中间位置并且没有找到那么low指针将指向大于目标值的最小元素high指针将指向小于目标值的最大元素。此时返回low同样是正确的因为这是目标值应插入的位置。 74. 搜索二维矩阵 给你一个满足下述两条属性的 m x n 整数矩阵 每行中的整数从左到右按非递减顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target 如果 target 在矩阵中返回 true 否则返回 false 。 Solution class Solution:def searchMatrix(self, matrix: List[List[int]], target: int) - bool:m, n len(matrix), len(matrix[0])low_i, high_i, low_j, high_j 0, m-1, 0, n-1while low_i high_i:i (low_i high_i) // 2if matrix[i][0] target:return Trueelif matrix[i][0] target:low_i i 1else:high_i i - 1while low_j high_j:j (low_j high_j) // 2if matrix[high_i][j] target:return Trueelif matrix[high_i][j] target:low_j j 1else:high_j j - 1return False若将矩阵每一行拼接在上一行的末尾则会得到一个升序数组我们可以在该数组上二分找到目标元素。假设有 m 行 n 列的二维数组那么一维索引 mid 对应的二维索引就是 (mid // n, mid % n)。使用 divmod() 函数可以更加方便地得到这两个值。 class Solution:def searchMatrix(self, matrix: List[List[int]], target: int) - bool:if not matrix:return Falsem, n len(matrix), len(matrix[0])low, high 0, m * n - 1while low high:mid (low high) // 2row, col divmod(mid, n)if matrix[row][col] target:return Trueelif matrix[row][col] target:low mid 1else:high mid - 1return False 34. 在排序数组中查找元素的第一个和最后一个位置 给你一个按照非递减顺序排列的整数数组 nums和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target返回 [-1, -1]。
http://www.zqtcl.cn/news/712888/

相关文章:

  • dw用ps切片做网站基金公司网站建设
  • 网站设计开户百度账号安全中心官网
  • 网站建设课程中山建网站最好的公司
  • 有没有帮忙做网站的建设银行如何招聘网站
  • 黑色网站模版网站架构图
  • 药业集团网站策划方案范文html手机网站怎么做
  • 网站虚拟主机1g南阳seo网站推广费用
  • wordpress国内视频网站吗东昌府区住房和城乡建设局网站
  • 网站免费网站的方法做网站优化词怎么选择
  • 丹东市住房和城乡建设网站seo营销型网站推广
  • 企业网站维护怎么做网站空间用万网的 域名不在万网
  • 嘉定企业网站开发建设网站建设常识网站建设技术知识大全
  • wordpress网站导航网站上如何做问卷调查
  • 南通网站搜索引擎优化海外学校网站建设
  • 个人站长适合做什么网站跨境电商数据分析网站
  • seo网站怎么优化影视制作公司简介
  • 如何制作一个自己的网页网站合肥网络优化公司有几家
  • 做网站的公司一年能赚多少钱织梦修改网站背景颜色
  • 门户网站建设的报价淘宝联盟怎么建网站
  • 常用的网站开发公司注册名称怎么起
  • j动态加载网站开发南京建设网站公司哪家好
  • 云南网站建设工具wordpress防御ip攻击
  • 珠海市网站建设开发公司站长工具whois查询
  • 网站备案icp过期网站建设好了怎么做推广
  • 网站自动识别手机代码网络服务器是指
  • 做自媒体那几个网站好点乐清做网站建设
  • 如何制作自己的网站在线观看2021网页源码
  • 电子商务网站建设百度文库工业设计公司招聘
  • 网站seo测评餐厅设计公司餐厅设计
  • 深圳网站seo推广wordpress swf 上传