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

鞍山市建设局网站东莞热的建设网站

鞍山市建设局网站,东莞热的建设网站,赵县网站建设,网站建设需要哪些费用支出题目传送门 主要看灵神的二分模版#xff0c;如何使用递归实现在 O ( m k ) O(mk) O(mk)时间内#xff0c;实现对于二分中每个条件的判断。 一般套路#xff1a; dfs函数返回值为布尔类型 循环中使用一个dfs#xff0c;如果其返回true#xff0c;那么直接这个dfs返回tru…题目传送门 主要看灵神的二分模版如何使用递归实现在 O ( m k ) O(mk) O(mk)时间内实现对于二分中每个条件的判断。 一般套路 dfs函数返回值为布尔类型 循环中使用一个dfs如果其返回true那么直接这个dfs返回true 技巧 一个引用类型的值作为终止条件的判断所有的dfs共享这个变量。 灵神代码 class Solution {// 返回是否找到 k 个子数组和bool dfs(vectorvectorint mat, int left_k, int i, int s) {if (i 0) // 能递归到这里说明数组和不超过二分的 midreturn --left_k 0; // 是否找到 k 个for (int x: mat[i]) { // 「枚举选哪个」注意 mat[i] 是有序的if (x - mat[i][0] s) // 选 x 不选 mat[i][0]break; // 剪枝后面的元素更大无需枚举if (dfs(mat, left_k, i - 1, s - (x - mat[i][0]))) // 选 x 不选 mat[i][0]return true; // 找到 k 个就一直返回 true不再递归}return false;}public:int kthSmallest(vectorvectorint mat, int k) {int sl 0, sr 0;for (auto row: mat) {sl row[0];sr row.back();}// 二分模板 https://www.bilibili.com/video/BV1AP41137w7/int left sl - 1, right sr; // 开区间 (sl-1,sr)while (left 1 right) { // 开区间不为空// 循环不变量// f(left) k// f(right) kint mid left (right - left) / 2;int left_k k;if (dfs(mat, left_k, mat.size() - 1, mid - sl)) // 先把第一列的所有数都选上right mid; // 二分范围缩小至开区间 (left, mid)else // f(mid) kleft mid; // 二分范围缩小至开区间 (mid, right)}return right;} };作者灵茶山艾府 链接https://leetcode.cn/problems/find-the-kth-smallest-sum-of-a-matrix-with-sorted-rows/solutions/2286593/san-chong-suan-fa-bao-li-er-fen-da-an-du-k1vd/ 来源力扣LeetCode 著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。 时间复杂度思考 为什么回溯的时间复杂度为 O ( m k ) O(mk) O(mk)dfs递归的过程是一棵树从顶到底本题中如果能够递归到 i 0 i0 i0那么就是走完了一条路径该路径花费时间 O ( m k ) O(mk) O(mk)。如果能够成功走完k条路径那么就直接所有的dfs开始统一返回true在此之前所有的dfs返回的都是false。 这样做的好处是虽然每个dfs中的for循环还没结束但是由于出现了一个true,提前终止了循环所有就可以保证递归树中每一层的节点个数最多为k个。着实神奇而且写法十分优雅
http://www.dnsts.com.cn/news/236956.html

相关文章:

  • 网站后台登录界面代码自贡住房和城乡建设厅网站
  • 南宁优质手机网站建设公司学校网站建设信息
  • 12306网站建设超30亿郑州专业做网站
  • 网站建设公司服务公司如何学做网站
  • 韶关市住房和城乡建设部网站wordpress+极简博客
  • 姜堰网站建设小程序开发费用一览表fhq华网天下
  • 现在网站建设都用什么语言西安seo排名外包
  • 企业名录搜索软件现在那个能用谷歌外贸seo
  • 深圳专业的网站制作公司wordpress如何添加远程数据库
  • phpwind怎么做网站小程序公司
  • 称多县公司网站建设小众做的好的网站
  • 网站留言板块怎么做网站建设服务网络服务
  • 网站名查找网站建设平台讯息
  • 深圳专业建站多少钱wordpress增加小工具
  • 福建网站建设制作观澜小学网站建设
  • 查域名网站html制作简单网页
  • 网站空间是虚拟机吗网站每月流量
  • 免费进入正能量的网站wordpress远程调用cdn
  • 论坛网站开发中遇到的问题注册公司要求什么条件
  • 网站被提示危险网站高手总结wordpress函数
  • 网站建设与运营的论文网站推广广告 优帮云
  • 牟平建设局网站潍坊住房与城市建设部网站
  • 怀化火车站网站随机网站生成器
  • 戚墅堰常州做网站wordpress 底部美化
  • 快速免费建网站太原网站制作网页
  • 做电影网站资源哪里来的免费做网站软件下载
  • 六安公司做网站化妆品网站推广策划书
  • 南宁seo网站建设国家建设 免费论文期刊网站
  • 网站 文件 上传一个网站建设域名的构思
  • 网站建设 自学 电子版 pdf下载怎么建立一个免费网址