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

成立网站开发公司珠海医疗网站建设公司

成立网站开发公司,珠海医疗网站建设公司,私家小庭院设计实景图,网站后台添加新闻题目 测试链接 在一条环路上有 n 个加油站#xff0c;其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车#xff0c;从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发#xff0c;开始时油箱为空。 给定两个整数数组…题目 测试链接 在一条环路上有 n 个加油站其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发开始时油箱为空。 给定两个整数数组 gas 和 cost 如果你可以按顺序绕环路行驶一周则返回出发时加油站的编号否则返回 -1 。如果存在解则 保证 它是 唯一 的。 解释一下这道题如下图所示 路程数组gas和油耗数组cost假设从A点出发走到B点路程为1消耗油量为21 - 2 -1油量不够支撑走到B点所以如果从A点出发无法完整的绕完一圈B、C、D同理这道题就是看从哪个出发点出发后可以顺利的绕完一圈gas和cost等长。 滑动窗口 首先先将给定的 gas[] 和 cost[] 稍稍加工一下一次遍历用gas[i] - cost[i]得到的新数组中包含正负数就是从每个点出发的路程和油耗的差值看是否有能力到达下一个目的地。 此时如果用暴力方法解这道题的话只需要从0 ~ N - 1每个位置循环遍历遍历N个位置。看过程中是否出现负数如果是负数则说明不能完成循环如果不是结果 0则证明可以完成循环。 我们这里直接说用滑动窗口的解题思路 依然是先加工gas[] 和 cost[]不同的是我们要根据加工出来的gas[] - cost[]搞出来一个2倍gas[]长度的前缀和数组。 因为我们要看从 0 ~ N - 1位置中每个的出发点能否成功绕回来 gas[] - cost[] 加工出来的数组就是从每个点出发能否成功到达下一目的地的数组所以当累加到N - 1位置时下一步重新在加上 0 位置的值来构造出这个2倍长度累加和数组。 这样的做的目的是我下图中 double.length中下标4的位置可以看做是从B点出发又重新绕回A的0位置下标5的位置可以看做是从C点出发重新绕回B点的1位置。一个数组全部可以搞定。 所有原始数组中出发的位置在double.length中都可以将原始数组的累加和数组加工出来。 怎么加工 假设我从D点出发那么在gas - cost中求出来的累加和数组就是{3,2,2,4}因为要重新往A点加绕回来对应在double.length中就是划线部分怎么得出来的呢 划线数组中的每一个数都减去划线部分的前一个数1。 所以综上所述此时我们维护一个窗口最小值窗口范围就是gos.length每次窗口变化后根据窗口内最小值 - 前一个值如果此时已然 0则说明该位置不是最佳出发点。否则就认为是最佳出发点。 代码 public static int canCompleteCircuit(int[] gas, int[] cost) {boolean[] booleans goodArray(gas, cost);for (int i 0; i booleans.length; i) {if (booleans[i]) {return i;}}return -1;}public static boolean[] goodArray(int[] gas, int[] cost) {int N gas.length;int M N 1;int[] arr new int[M];for (int i 0; i N; i) {arr[i] gas[i] - cost[i];arr[N i] gas[i] - cost[i];}for (int j 1; j M; j) {arr[j] arr[j - 1];}LinkedListInteger w new LinkedList();for (int i 0; i N; i) {while (!w.isEmpty() arr[w.peekLast()] arr[i]) {w.pollLast();}w.addLast(i);}boolean[] ans new boolean[N];for (int offset 0, i 0, j N; j M; offset arr[i], j) {if (arr[w.peekFirst()] - offset 0) {ans[i] true;}if (w.peekFirst() i) {w.pollFirst();}while (!w.isEmpty() arr[w.peekLast()] arr[j]) {w.pollLast();}w.addLast(j);}return ans;}
http://www.hkea.cn/news/14340504/

相关文章:

  • 做旅游网站毕设任务书企业网站设计开发服务
  • 凡客诚品网站建设策划书上海公司注册查名官网
  • 临沂网站建设联系方式网站被黑咋样的
  • 河津网站建设网站建设如何使图片翻转
  • 常州网站建设思创网络网站创建一般创建哪种类型
  • 手机网站微信登录珠海自助建站
  • 上海建站费用建设网站的价钱
  • 十大软件免费下载网站排行榜wordpress小说插件
  • 网站建设 总结苍梧网站建设
  • 现在开什么网站莆田做网站公司电话
  • 大连自助建站软件wordpress侧边小图标联系方式
  • 设计一个电子商务网站嵌入式软件开发学习路线
  • 网站备案查询平台wordpress头像禁用
  • 关于网站建设的建议报告网站开发北京公司
  • 毕业作品是做网站的答辩会问什么中国纪检监察报社官网
  • 网站访问速度 云主机百度seo是啥意思
  • 广州增城网站建设做电商海报的网站
  • ps做网站素材文件打包seo自动工具
  • 有了网站源码可以做网站吗项目营销推广方案
  • php响应式网站开发百度云铁道部建设管理司网站
  • 南京建设项目环评公示期网站深圳外文网站制作
  • 其它类型的定制营销型网站泰安网络平台
  • 微网站上的一键导航怎么做株洲网红
  • 前段 网站建设实例好看的响应式网站
  • 绍兴做网站建设企业域名免费申请
  • 乌鲁瓦提建设管理局网站怎么做县城分类信息网站
  • 建网站简易软件网站开发的分工和流程
  • python做网站毕业设计沧州黄骅市贴吧
  • 网站的留言怎么做亚马逊网站托管怎么做
  • 婚纱摄影网站设计理念怎么申请自己的网站