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

做甜品网站的需求分析郑州修了你官方网站

做甜品网站的需求分析,郑州修了你官方网站,网站开发人员必备技能,商铺装修找什么公司★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号#xff1a;山青咏芝#xff08;shanqingyongzhi#xff09;➤博客园地址#xff1a;山青咏芝#xff08;https://www.cnblogs.com/strengthen/#xff09;➤GitHub地址山青咏芝shanqingyongzhi➤博客园地址山青咏芝https://www.cnblogs.com/strengthen/➤GitHub地址https://github.com/strengthen/LeetCode➤原文地址https://www.cnblogs.com/strengthen/p/9929505.html ➤如果链接不是山青咏芝的博客园地址则可能是爬取作者的文章。➤原文已修改更新强烈建议点击原文地址阅读支持作者支持原创★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties: Integers in each row are sorted from left to right.The first integer of each row is greater than the last integer of the previous row.Example 1: Input: matrix [[1, 3, 5, 7],[10, 11, 16, 20],[23, 30, 34, 50] ] target 3 Output: trueExample 2: Input: matrix [[1, 3, 5, 7],[10, 11, 16, 20],[23, 30, 34, 50] ] target 13 Output: false 编写一个高效的算法来判断 m x n 矩阵中是否存在一个目标值。该矩阵具有如下特性 每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1: 输入: matrix [[1, 3, 5, 7],[10, 11, 16, 20],[23, 30, 34, 50] ] target 3 输出: true示例 2: 输入: matrix [[1, 3, 5, 7],[10, 11, 16, 20],[23, 30, 34, 50] ] target 13 输出: false 16ms 1 class Solution {2 func searchMatrix(_ matrix: [[Int]], _ target: Int) - Bool {3 guard matrix.count 0 else {4 return false5 }6 7 let rows matrix.count8 let columns matrix[0].count9 10 var first 0 11 var last rows*columns-1 12 13 while first last { 14 let mid first (last-first)/2 15 16 if matrix[mid/columns][mid%columns] target { 17 return true 18 } 19 20 if matrix[mid/columns][mid%columns] target { 21 last mid-1 22 } 23 else { 24 first mid1 25 } 26 } 27 28 return false 29 } 30 } 16ms 1 class Solution {2 func searchMatrix(_ matrix: [[Int]], _ target: Int) - Bool {3 if matrix.count 0 || matrix[0].count 0 {4 return false5 }6 7 let n matrix.count8 let m matrix[0].count9 var left 0 10 var right m * n - 1 11 12 while left right { 13 let middle left (right - left - 1) / 2 14 if matrix[middle / m][middle % m] target { 15 left middle 1 16 } else { 17 right middle 18 } 19 } 20 21 return matrix[right / m][right % m] target 22 } 23 } 20ms 1 class Solution {2 func searchMatrix(_ matrix: [[Int]], _ target: Int) - Bool {3 if matrix.count 0 || matrix.first!.count 0 {4 return false5 }6 // 边界判断7 if target matrix.first!.first! || target matrix.last!.last! {8 return false9 } 10 // 因为矩阵的每行都有序, 可将矩阵看作一个数组进行二分查找 11 var low 0 12 var high matrix.count * matrix.first!.count - 1 13 var mid 0 14 while low high { 15 mid (low high) / 2 16 let coords convertIndex(mid, in: matrix) // index转换为坐标 17 let value matrix[coords.row][coords.column] 18 if value target { 19 return true 20 } else if target value { 21 high mid - 1 22 } else { 23 low mid 1 24 } 25 } 26 return false 27 } 28 29 private func convertIndex(_ index: Int, in matix: [[Any]]) - (row: Int, column: Int) { 30 return (row: index / matix.first!.count, 31 column: index % matix.first!.count) 32 } 33 } 80ms 1 class Solution {2 func searchMatrix(_ matrix: [[Int]], _ target: Int) - Bool {3 guard !matrix.isEmpty else { return false }4 5 let lastRowIndex matrix.count - 16 7 for (index, row) in matrix.enumerated() {8 guard !row.isEmpty else { continue }9 guard target row[0] else { continue } 10 11 if lastRowIndex ! index target matrix[index 1][0] { 12 continue 13 } 14 15 for n in row { 16 if n target { 17 return true 18 } 19 } 20 21 } 22 23 return false 24 } 25 } 100ms 1 class Solution {2 func searchMatrix(_ matrix: [[Int]], _ target: Int) - Bool {3 let arr matrix.flatMap{$0}4 return binarySearch(arr, 0, arr.count - 1, target)5 }6 7 func binarySearch(_ arr: [Int], _ start: Int, _ end: Int, _ target: Int) - Bool {8 let mid (start end ) / 29 guard start end else { return false } 10 if target arr[mid] { return true} 11 if target arr[mid] { 12 return binarySearch(arr, start, mid - 1, target) 13 } else { 14 return binarySearch(arr, mid 1, end, target) 15 } 16 } 17 } 104ms 1 class Solution {2 func searchMatrix(_ matrix: [[Int]], _ target: Int) - Bool {3 let arr matrix.flatMap{$0}4 return binarySearch(arr, 0, arr.count - 1, target)5 }6 7 func divide(_ arr: [[Int]], _ start: Int, _ end:Int, _ target: Int) - Bool {8 guard start end else { return false }9 if start end { 10 return binarySearch(arr[start], 0, arr[start].count - 1, target) 11 } 12 13 let mid (start end ) / 2 14 let localArr arr[mid] 15 let high localArr[localArr.count - 1] 16 if target high { return true} 17 if high target { 18 return divide(arr, mid 1, end, target) 19 } else { 20 return divide(arr, start, mid, target) 21 } 22 } 23 24 func binarySearch(_ arr: [Int], _ start: Int, _ end: Int, _ target: Int) - Bool { 25 let mid (start end ) / 2 26 guard start end else { return false } 27 if target arr[mid] { return true} 28 if target arr[mid] { 29 return binarySearch(arr, start, mid - 1, target) 30 } else { 31 return binarySearch(arr, mid 1, end, target) 32 } 33 } 34 }  转载于:https://www.cnblogs.com/strengthen/p/9929505.html
http://wiki.neutronadmin.com/news/5391/

相关文章:

  • 安卓网站客户端制作软件龙岩建设网站
  • 建设一个招聘网站大概多少费用商城网站建设需求文档
  • 网站建设技术方面网站页面架构图
  • 买机票便宜的网站建设怎样做网站表白墙
  • 做宠物网站需要实现什么功能网站后台字体安装
  • 一浪网站建设什么是网络推广
  • 娄底建设企业网站企业网站建设亮点
  • 电子商务网站建设规划开题报告简单的企业网页模板
  • 汕头企业建站模板宁波seo网络推广价格
  • seo挂机赚钱手机网站优化
  • 上海网站推广营销设计网站建设新技术
  • 建设网站 课程设计如何将wordpress主题换成英文版
  • 个人建站流程详解哪些做网站的公司比较好
  • 海口建设厅网站谁有做网站的朋友的V信
  • 网站开发合同补充协议深圳招聘信息最新招聘2022
  • 成都微网站网易云wordpress
  • wordpress gifseo商学院
  • 免费外贸网站大全青山网站建设
  • 荆门网站seo微信微博网站建设
  • php做简单网站教程视频教程wordpress 重定向函数
  • 网站建设的报告用ps做网站得多大像素
  • 明港网站建设公司架子鼓谱那个网站做的好
  • 石家庄做网站排名公司哪家好成立个人工作室需要什么条件
  • 有哪些网站做自建房设计ui是什么设计
  • 西安哪家做网站公司好网站从建设到上线流程
  • 做外贸业务去哪些网站全网最低价业务网站
  • 苏州住房城乡建设部网站网站开发表格整体页面居中
  • 多语种网站建设方案wordpress 锚点 插件
  • 怎么添加网站程序新浪sae 安装wordpress
  • 做网站合成APP个人网站模板制作教程