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

上海工程网站建设网页设计与制作第三版

上海工程网站建设,网页设计与制作第三版,聚名,雄县网站制作建设中心目录 加油站#xff08;medium#xff09; 题目解析 讲解算法原理 编写代码 单调递增的数字#xff08;medium#xff09; 题目解析 讲解算法原理 编写代码 加油站#xff08;medium#xff09; 题目解析 1.题目链接#xff1a;. - 力扣#xff08;LeetCodemedium 题目解析 讲解算法原理 编写代码 单调递增的数字medium 题目解析 讲解算法原理 编写代码 加油站medium 题目解析 1.题目链接. - 力扣LeetCode 2.题目描述 在⼀条环路上有 n 个加油站其中第 i 个加油站有汽油 gas[i] 升。你有⼀辆油箱容量⽆限的的汽⻋从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的⼀个加油站出发开始时油箱为空。 给定两个整数数组 gas 和 cost 如果你可以按顺序绕环路⾏驶⼀周则返回出发时加油站的编号否则返回 -1 。如果存在解则保证它是唯⼀的。 ⽰例1: 输⼊:gas[1,2,3,4,5],cost[3,4,5,1,2] 输出:3 解释: 从3号加油站(索引为3处)出发可获得4升汽油。此时油箱有044升汽油开往4号加油站此时油箱有4-158升汽油 开往0号加油站此时油箱有8-217升汽油 开往1号加油站此时油箱有7-326升汽油 开往2号加油站此时油箱有6-435升汽油 开往3号加油站你需要消耗5升汽油正好⾜够你返回到3号加油站。因此3可为起始索引。 ⽰例2: 输⼊:gas[2,3,4],cost[3,4,3] 输出:-1 解释: 你不能从0号或1号加油站出发因为没有⾜够的汽油可以让你⾏驶到下⼀个加油站。我们从2号加油站出发可以获得4升汽油。此时油箱有044升汽油 开往0号加油站此时油箱有4-323升汽油 开往1号加油站此时油箱有3-333升汽油 你⽆法返回2号加油站因为返程需要消耗4升汽油但是你的油箱只有3升汽油。因此⽆论怎样你都不可能绕环路⾏驶⼀周。 提⽰: ◦ gas.length n ◦ cost.length n ◦ 1 n 10(5) ◦ 0 gas[i], cost[i] 10(4) 讲解算法原理 解法暴⼒解法-贪⼼ 暴⼒解法 a. 依次枚举所有的起点 b. 从起点开始模拟⼀遍加油的流程 贪⼼优化 我们发现当从 i 位置出发⾛了 step 步之后如果失败了。那么 [i, i step] 这个区间内任意⼀个位置作为起点都不可能环绕⼀圈。 因此我们枚举的下⼀个起点应该是 i step 1 。 编写代码 c算法代码 class Solution { public:int canCompleteCircuit(vectorint gas, vectorint cost) {int n gas.size();for(int i 0; i n; i) // 依次枚举所有的起点{int rest 0; // 标记⼀下净收益int step 0;for( ; step n; step) // 枚举向后⾛的步数{int index (i step) % n; // 求出⾛ step 步之后的下标rest rest gas[index] - cost[index];if(rest 0) break;}if(rest 0) return i;i i step; // 优化}return -1;} }; java算法代码 class Solution {public int canCompleteCircuit(int[] gas, int[] cost) {int n gas.length;for(int i 0; i n; i) // 依次枚举所有的起点 {int rest 0; // 统计净收益int step 0;for( ; step n; step) // 枚举向后⾛的步数 {int index (i step) % n; // ⾛ step 步之后的下标 rest rest gas[index] - cost[index];if(rest 0){break;}}if(rest 0){return i;}i i step; // 优化}return -1;} } 单调递增的数字medium 题目解析 1.题目链接. - 力扣LeetCode 2.题目描述 当且仅当每个相邻位数上的数字x和y满⾜xy时我们称这个整数是单调递增的。给定⼀个整数n返回⼩于或等于n的最⼤数字且数字呈单调递增。 • ⽰例1: 输⼊:n10 输出:9 • ⽰例2: 输⼊:n1234 输出:1234 • ⽰例3: 输⼊:n332 输出:299 • 提⽰: 0n10^9 讲解算法原理 解法贪⼼ a. 为了⽅便处理数中的每⼀位数字可以先讲整数转换成字符串b. 从左往右扫描找到第⼀个递减的位置 c. 从这个位置向前推推到相同区域的最左端d. 该点的值 -1 后⾯的所有数统⼀变成 9 。 编写代码 c算法代码 class Solution { public:int monotoneIncreasingDigits(int n) {string s to_string(n); // 把数字转化成字符串 int i 0, m s.size();// 找第⼀个递减的位置while(i 1 m s[i] s[i 1]) i;if(i 1 m) return n; // 判断⼀下特殊情况 // 回推while(i - 1 0 s[i] s[i - 1]) i--;s[i]--;for(int j i 1; j m; j) s[j] 9;return stoi(s);} }; java算法代码 class Solution {public int monotoneIncreasingDigits(int n) {// 把数字转化成字符串char[] s Integer.toString(n).toCharArray();int i 0, m s.length;// 找第⼀个递减的位置while(i 1 m s[i] s[i 1]) i;if(i m - 1) return n; // 特判⼀下特殊情况// 回退while(i - 1 0 s[i] s[i - 1]) i--;s[i]--;for(int j i 1; j m; j) s[j] 9;return Integer.parseInt(new String(s));} }
http://www.w-s-a.com/news/527336/

相关文章:

  • 怎样用网站做单笔外贸建筑设计公司合作加盟
  • 建网站买的是什么网站开发三层结构
  • wordpress图纸管理网站2345网址导航智能主版
  • 想调用等三方网站数据该怎么做培训课程
  • 高端营销网站建设wordpress咨询
  • 网站搜索框如何做创业怎么做网站
  • 网站手机版管理链接产品推广找哪家公司
  • vuejs 可做网站吗蜘蛛互联网站建设
  • 沈阳网站备案查询17zwd一起做业网站
  • 石家庄大型公司建站广州设计网站培训学校
  • 如何让百度收录中文域名网站wordpress前台管理评论
  • 铁岭 建筑公司网站 中企动力建设佛山app开发公司
  • 网站开发用的电脑深圳专业网站建设服务
  • 内容营销价值wordpress博客优化插件
  • 最优惠的郑州网站建设淘宝网商城
  • 做封面网站企业网站优化服务商
  • 电子商务网站设计是什么蚌埠铁路建设监理公司网站
  • .name后缀的网站做房产网站多少钱
  • 手机上传网站源码网站app封装怎么做
  • 做的网站放在阿里云网站建设投标书范本
  • 做文化传播公司网站wordpress仿简书
  • 什么网站有题目做西宁网站制作哪里好
  • 网站上添加图片的原则优易主机 wordpress
  • 用php做的网站源代码那里有做像美团的网站的
  • 网站建设百科有什么做兼职的网站
  • 创造网站电商网站建设方案道客巴巴
  • 南通设计网站建设wordpress时光轴
  • 郑州做网站企起网站建设 风险
  • 北京市保障性住房建设投资中心网站6大连广告设计与制作公司
  • 建站之星网站模板国内f型网页布局的网站