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

高端设计网站建设福州市鼓楼区建设局网站

高端设计网站建设,福州市鼓楼区建设局网站,深圳中小型网站建设公司,广州市网站建设报价目录 坏了的计算器#xff08;medium#xff09; 题目解析 讲解算法原理 编写代码 合并区间#xff08;medium#xff09; 题目解析 讲解算法原理 编写代码 坏了的计算器#xff08;medium#xff09; 题目解析 1.题目链接#xff1a;. - 力扣#xff08;Leet…目录 坏了的计算器medium 题目解析 讲解算法原理 编写代码 合并区间medium 题目解析 讲解算法原理 编写代码 坏了的计算器medium 题目解析 1.题目链接. - 力扣LeetCode 2.题目描述 在显⽰着数字 startValue 的坏计算器上我们可以执⾏以下两种操作 ◦ 双倍Double将显⽰屏上的数字乘2 ◦ 递减Decrement将显⽰屏上的数字减 1 。 给定两个整数 startValue 和 target 。返回显⽰数字 target 所需的最⼩操作数。 ⽰例1 输⼊startValue2,target3 输出2 解释先进⾏双倍运算然后再进⾏递减运算{2-4-3}. ⽰例2 输⼊startValue5,target8 输出2 解释先递减再双倍{5-4-8}. ⽰例3 输⼊startValue3,target10 输出3 解释先双倍然后递减再双倍{3-6-5-10}. 提⽰ ◦ 1 startValue, target 10^9 讲解算法原理 解法贪⼼ 贪⼼策略 正难则反 当「反着」来思考的时候我们发现 i. 当 end begin 的时候只能执⾏「加法」操作ii. 当 end begin 的时候对于「奇数」来说只能执⾏「加法」操作对于「偶数」来 说最好的⽅式就是执⾏「除法」操作 这样的话每次的操作都是「固定唯⼀」的。 编写代码 c算法代码 class Solution { public:int brokenCalc(int startValue, int target) {// 正难则反 贪⼼int ret 0;while(target startValue){if(target % 2 0) target / 2;else target 1;ret;}return ret startValue - target;} }; java算法代码 class Solution {public int brokenCalc(int startValue, int target) {// 正难则反 贪⼼int ret 0;while(target startValue){if(target % 2 0) target / 2;else target 1;ret;}return ret startValue - target;} } 合并区间medium 题目解析 1.题目链接. - 力扣LeetCode 2.题目描述 以数组 intervals 表⽰若⼲个区间的集合其中单个区间为 intervals[i] [start(i), end(i)] 。请你合并所有重叠的区间并返回⼀个不重叠的区间数组该数组需恰好覆盖输⼊中的所有区间。 ⽰例1 输⼊intervals[[1,3],[2,6],[8,10],[15,18]] 输出[[1,6],[8,10],[15,18]] 解释区间[1,3]和[2,6]重叠,将它们合并为[1,6]. ⽰例2 输⼊intervals[[1,4],[4,5]] 输出[[1,5]] 解释区间[1,4]和[4,5]可被视为重叠区间。 提⽰ ◦ 1 intervals.length 10^4 ◦ intervals[i].length 2 ◦ 0 start(i) end(i) 10^4 讲解算法原理 解法排序贪⼼ 贪⼼策略 a. 先按照区间的「左端点」排序此时我们会发现能够合并的区间都是连续的b. 然后从左往后按照求「并集」的⽅式合并区间。 如何求并集 由于区间已经按照「左端点」排过序了因此当两个区间「合并」的时候合并后的区间a. 左端点就是「前⼀个区间」的左端点 b. 右端点就是两者「右端点的最⼤值」。 编写代码 c算法代码 class Solution { public:vectorvectorint merge(vectorvectorint intervals) {// 1. 先按照左端点排序sort(intervals.begin(), intervals.end());// 2. 合并区间int left intervals[0][0], right intervals[0][1];vectorvectorint ret;for(int i 1; i intervals.size(); i){int a intervals[i][0], b intervals[i][1];if(a right) // 有重叠部分{// 合并 - 求并集right max(right, b);}else // 没有重叠部分{ret.push_back({left, right}); // 加⼊到结果中 left a;right b;}}// 别忘了最后⼀个区间ret.push_back({left, right});return ret;} }; java算法代码 class Solution {public int[][] merge(int[][] intervals) {// 1. 按照左端点排序Arrays.sort(intervals, (v1, v2) - {return v1[0] - v2[0];});// 2. 合并区间 - 求并集int left intervals[0][0], right intervals[0][1];Listint[] ret new ArrayList();for(int i 1; i intervals.length; i){int a intervals[i][0], b intervals[i][1];if(a right) // 有重叠部分{// 合并 - 求并集right Math.max(right, b);}else // 不能合并{ret.add(new int[]{left, right});left a;right b;}}// 别忘了最后⼀个区间ret.add(new int[]{left, right});return ret.toArray(new int[0][]);} }
http://www.dnsts.com.cn/news/262225.html

相关文章:

  • 海口网站排名北京网站制作一般多少钱
  • 苏州网站怎么做seo怎么收费的
  • 门户网站建设解决方案高清不卡二卡三卡四卡免费下载
  • 做城市分类信息网站好做吗网站空间怎么回事
  • 官网网站系统做网站后台用什么语言好
  • 共青城网站建设公司重庆百度百科
  • 信息门户网站怎么做百度广告联盟怎么赚钱
  • 品牌建设网站有哪些个人网站做外链方法
  • 江西建设职业技术学院官方网站中国造价工程建设监理协会网站
  • 四川手机网站建设模板网站为什么做不了优化
  • 公众号开发是不是网站开发宣传产品的方式
  • html5 网站开发实战华大基因背景调查
  • js怎么做网站用织梦做网站
  • 建设部网站如何下载文件翻墙国外网站做兼职
  • 教育网站开发公司企业邮箱格式怎么写才正确
  • 看电影电视剧的好网站纤纤影院app软件开发的费用计入什么科目
  • 高端 网站制作网页微博怎么切换账号
  • 中国建设集团总公司官网宣城seo
  • 网站建设凡客长垣网站建设
  • 网站做专题提升权重免费seo诊断
  • 增城住房和建设局网站网络建设与维护
  • 材料网站建设机关事业单位 网站建设方案书
  • 肇庆网站建设方案维护开发公司开会新闻稿
  • 青峰集团响应式网站wordpress不能创建怎么解决方法
  • 怎么让网站排名下降聪明的上海网站
  • 网站排名第一专业的徐州网站建设
  • 嘉兴北京网站建设大地资源影视免费观看
  • 做曖网站2345官方网站
  • 网站初期缺点杭州seo论坛
  • 百捷网站建设厦门网站建设_