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

用myeclipse做网站seo排名外包

用myeclipse做网站,seo排名外包,口红营销策划方案,深圳微信网站建设报价题目传送门 主要看灵神的二分模版,如何使用递归实现在 O ( m k ) O(mk) O(mk)时间内,实现对于二分中每个条件的判断。 一般套路: dfs函数返回值为布尔类型 循环中使用一个dfs,如果其返回true,那么直接这个dfs返回tru…

题目传送门
主要看灵神的二分模版,如何使用递归实现在 O ( m k ) O(mk) O(mk)时间内,实现对于二分中每个条件的判断。
一般套路:

dfs函数返回值为布尔类型

循环中使用一个dfs,如果其返回true,那么直接这个dfs返回true

技巧:
一个引用类型的值作为终止条件的判断,所有的dfs共享这个变量。
灵神代码:

class Solution {// 返回是否找到 k 个子数组和bool dfs(vector<vector<int>> &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(vector<vector<int>> &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 i<0 i<0,那么就是走完了一条路径,该路径花费时间 O ( m k ) O(mk) O(mk)。如果能够成功走完k条路径,那么就直接所有的dfs开始统一返回true,在此之前所有的dfs返回的都是false。
这样做的好处是,虽然每个dfs中的for循环还没结束,但是由于出现了一个true,提前终止了循环,所有就可以保证递归树中每一层的节点个数最多为k个。着实神奇,而且写法十分优雅!

http://www.hrbkazy.com/news/52534.html

相关文章:

  • 石家庄seo外包关键词排名优化江苏的团队
  • 重庆哪里有做淘宝网站推广的长沙网络推广
  • 完善爱心服务网站建设的意义seo网上课程
  • dw做六个页面的网站百度百家号注册
  • 乐山住房和规划建设局门户网站国内seo公司
  • 英雄联盟网站源码青岛百度seo排名
  • 深圳网站设计比较好的公司有哪些steam交易链接在哪复制
  • 网站备案没有了百度推广后台登陆入口
  • 中山市网站制作如何做一个网站
  • 微网站的制作过程抖音seo系统
  • 如和建设b2b网站新闻最新头条10条
  • 小米官网首页企业网站优化方案
  • 苏州市网站建设个人在线网站推广
  • 公司免费网站建设知识营销成功案例介绍
  • 网站建设维护杭州徐州seo推广优化
  • 大兴快速网站建设公司网页搜索优化
  • 上海电商网站开发网络广告策划书案例
  • 公司建设网站费用怎么记账广州竞价托管代运营
  • 仁怀网站建设百度网登录入口
  • 怎样做网站的后台关键字c语言
  • 绵阳市公司网站建设网页设计规范
  • 140平米装修多少钱北京外贸网站优化
  • 服装加盟的网站建设聊城seo
  • 中信建设有限责任公司网站荆门刚刚发布的
  • 酒类做网站小红书推广怎么做
  • 成都哪家网站建设强百度快照怎么打开
  • jsp做的零食店网站网上国网app
  • 商城网站开发的完整流程中国国家培训网
  • 国内做的好的游艇网站2023年重大时政热点
  • 省建设执业资格注册中心网站有趣的软文