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

济南专业做公司网站的机构常州网站公司怎么选

济南专业做公司网站的机构,常州网站公司怎么选,深圳微信网站建设,优化二十条前言 今天学习了一句话“自己如果不努力#xff0c;屎都吃不上热乎的”#xff0c;话糙理不糙#xff0c;与君共勉 35. 搜索插入位置 - 力扣#xff08;LeetCode#xff09; 二分查找 class Solution:def searchInsert(self, nums: List[int], target: int) - int:n…前言 今天学习了一句话“自己如果不努力屎都吃不上热乎的”话糙理不糙与君共勉 35. 搜索插入位置 - 力扣LeetCode 二分查找 class Solution:def searchInsert(self, nums: List[int], target: int) - int:n len(nums)l, r 0, n - 1while l r: # 左闭右闭mid l (r - l) // 2if nums[mid] target:return midelif nums[mid] target:l mid 1else:r mid - 1return r 1 # 应该插入的位置 74. 搜索二维矩阵 - 力扣LeetCode 二分查找 class Solution:def searchMatrix(self, matrix: List[List[int]], target: int) - bool:m, n len(matrix), len(matrix[0])l, r 0, m * n - 1while l r:mid l (r - l) // 2row mid // n # 转化成矩阵中的行坐标col mid % n # 转化成矩阵中的列坐标print(mid, row, col)if matrix[row][col] target: l mid 1elif matrix[row][col] target:r mid - 1else:return Truereturn False 34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣LeetCode 二分查找左右边界 class Solution:def searchRange(self, nums: List[int], target: int) - List[int]:# 寻找[target,...,target]的左边界def leftBorder(nums, target):l, r 0, len(nums) - 1while l r:mid l (r - l) // 2if nums[mid] target:r mid - 1else:l mid 1return l# 寻找[target,...,target]的右边界def rightBorder(nums, target):l, r 0, len(nums) - 1while l r:mid l (r - l) // 2if nums[mid] target:l mid 1else:r mid - 1return rl_Border leftBorder(nums, target)r_Border rightBorder(nums, target)if l_Border r_Border:return [l_Border, r_Border]else: # 排除找不到target的情况return [-1, -1] 二分查找单边界滑动 class Solution:def searchRange(self, nums: List[int], target: int) - List[int]:# 寻找[target,...,target]的左边界def leftBorder(nums, target):l, r 0, len(nums) - 1while l r:mid l (r - l) // 2if nums[mid] target:r mid - 1else:l mid 1return ln len(nums)l_Border leftBorder(nums, target)# 处理特殊情况找不到targetif l_Border n or nums[l_Border] ! target: return [-1,-1]# 允许范围内右边界向右滑动r_Border l_Borderwhile r_Border 1 n - 1 and nums[r_Border1] target:r_Border 1return [l_Border, r_Border] 33. 搜索旋转排序数组 - 力扣LeetCode 二分查找寻找有序 class Solution:def search(self, nums: List[int], target: int) - int:n len(nums)l, r 0, n - 1while l r:mid l (r - l) // 2# mid左侧包含mid为有序部分一个元素nums[0]nums[mid]也有序所以要if nums[0] nums[mid]:if nums[0] target nums[mid]:r mid - 1elif target nums[mid]:return midelse:l mid 1# mid右侧包含mid为有序部分else:if nums[mid] target nums[n - 1] :l mid 1elif target nums[mid]:return midelse:r mid - 1 return -1 153. 寻找旋转排序数组中的最小值 - 力扣LeetCode 二分查找寻找无序 class Solution:def findMin(self, nums: List[int]) - int:l, r 0, len(nums) - 1while l r:mid l (r - l) // 2# 左边有序右边无序去右边找if nums[0] nums[mid]: # 考虑[2,1]中lmid情况要往右找if mid 0 and nums[mid-1] nums[mid]: # 异常递减值return nums[mid]else:l mid 1# 右边有序左边无序去左边找else:if mid 0 and nums[mid-1] nums[mid]: # 异常递减值return nums[mid]else:r mid - 1return nums[0] # 找不到说明无旋转nums[0]就是最小# 简洁优化边界难处理 class Solution:def findMin(self, nums: List[int]) - int:l, r 0, len(nums) - 1if nums[l] nums[r]: # 本身有序返回第一个return nums[l]while l r:mid l (r - l) // 2if nums[0] nums[mid]: # 考虑[2,1]中lmid情况要往右找l mid 1 # 右边无序往右找else: r mid - 1 # 左边无序往左找return nums[l] 4. 寻找两个正序数组的中位数 - 力扣LeetCode 困难题要递归找两个有序数组的第k大数看思路讲解和代码实现 class Solution:def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) - float:给定两个排好序的数组求他们合并后的第k大数def findK(nums1, nums2, k):if len(nums1) 0: # 其中一个为空就返回另一个的第k大对应下标k-1return nums2[k-1]if len(nums2) 0:return nums1[k-1] if k 1: # 第1大就比较头两个数return min(nums1[0], nums2[0])k1 min(k//2, len(nums1)) # 划分给nums1的数量可能不够k2 min(k-k1, len(nums2)) # 剩余给nums2的数量可能不够if nums1[k1-1] nums2[k2-1]: # 小的数不可能是第k大了删除后递归去下一层return findK(nums1[k1:], nums2, k-k1)else: # 由于可能有不够的现象相等不意味着就是第k大还要继续分割return findK(nums1, nums2[k2:], k-k2)size len(nums1) len(nums2)if size % 2 0: # 偶数left findK(nums1, nums2, size // 2) # 10就是找第5right findK(nums1, nums2, size // 2 1) # 10就是找第6res (left right) / 2else: # 奇数res findK(nums1, nums2, size // 2 1) # 11就是找第6return res 后言 二分实现和记模板不难主要是要处理好边界多在草稿上演算一下就行
http://www.w-s-a.com/news/821153/

相关文章:

  • 买空间哪个网站好做我的世界背景图的网站
  • 南京哪里做网站wordpress 增加子目录
  • 刚做的网站搜全名查不到网站很难被百度收录
  • 网站建设与管理期末做网站买空间用共享ip
  • 网络合同怎么签有效南京seo公司哪家
  • 厦门建设网官方网站上海网络网站建
  • 网站制作西安郑州网站建设动态
  • 外贸网站免费推广温州做网站技术员
  • 武冈 网站建设做网站能收回吗
  • 网站做前端把网站扒下来以后怎么做
  • 网站模板素材下载手机做任务佣金的网站
  • 机关网站建设考核测评总结做网站sqlserver排序
  • 凉山州建设厅官方网站html5下载教程
  • 内网网站建设方面政策id97网站怎么做的
  • 福州企业建站系统七米网站建设
  • 长春seo建站北京做机床的公司网站
  • 网站维护具体做啥如何开发wap网站
  • 公司网站设计费计入什么科目潍坊公司网站制作
  • 拖拽式网站开发模具钢东莞网站建设
  • 彩票娱乐网站建设模块化网站开发
  • 孝感网站设计用自己的名字设计头像
  • 高明网站建设哪家好深圳vi设计公司全力设计
  • 工程技术cpu游戏优化加速软件
  • 一起做网店网站入驻收费wordpress 自定义评论样式
  • 深圳高端网站建设公司排名app软件开发sh365
  • 泰州网站整站优化惠州做网站多少钱
  • 做博客网站的php代码一建论坛建工教育网
  • 邢台网站制作费用单页营销网站后台
  • 红色网站建设的比较好的高校用vs2010做购物网站
  • 网站域名备案号查询网页设计实验报告总结模板