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

啊里云服务器怎么做网站互联网营销师培训教材

啊里云服务器怎么做网站,互联网营销师培训教材,做冒菜店网站,企业网站可以做游戏类网站么在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个整数数组 gas 和 cost &…

在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。

你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。

给定两个整数数组 gas 和 cost ,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1 。如果存在解,则 保证 它是 唯一 的。

示例 1:

输入: gas = [1,2,3,4,5], cost = [3,4,5,1,2]
输出: 3
解释:
从 3 号加油站(索引为 3 处)出发,可获得 4 升汽油。此时油箱有 = 0 + 4 = 4 升汽油
开往 4 号加油站,此时油箱有 4 - 1 + 5 = 8 升汽油
开往 0 号加油站,此时油箱有 8 - 2 + 1 = 7 升汽油
开往 1 号加油站,此时油箱有 7 - 3 + 2 = 6 升汽油
开往 2 号加油站,此时油箱有 6 - 4 + 3 = 5 升汽油
开往 3 号加油站,你需要消耗 5 升汽油,正好足够你返回到 3 号加油站。
因此,3 可为起始索引。

示例 2:

输入: gas = [2,3,4], cost = [3,4,3]
输出: -1
解释:
你不能从 0 号或 1 号加油站出发,因为没有足够的汽油可以让你行驶到下一个加油站。
我们从 2 号加油站出发,可以获得 4 升汽油。 此时油箱有 = 0 + 4 = 4 升汽油
开往 0 号加油站,此时油箱有 4 - 3 + 2 = 3 升汽油
开往 1 号加油站,此时油箱有 3 - 3 + 3 = 3 升汽油
你无法返回 2 号加油站,因为返程需要消耗 4 升汽油,但是你的油箱只有 3 升汽油。
因此,无论怎样,你都不可能绕环路行驶一周。

提示:

  • gas.length == n
  • cost.length == n
  • 1 <= n <= 105
  • 0 <= gas[i], cost[i] <= 104

 我这个代码里解的题比Leetcode134更复杂一些,

package dataStructure.slideWindow;import java.util.LinkedList;/*** 原题目:https://leetcode.cn/problems/gas-station/* 在一条环路上有 n个加油站,其中第 i个加油站有汽油gas[i]升。** 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1个加油站需要消耗汽油cost[i]升。你从其中的一个加油站出发,开始时油箱为空。** 给定两个整数数组 gas 和 cost ,如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1 。如果存在解,则 保证 它是 唯一 的。**/
public class CanCompleteCircuit_Leecode131 {/*** 这个题是一个简化的题,我们定义一个方法求出复杂问题:返回所有的点能不能回到原点* @param gas* @param cost* @return*/public static boolean[] canCompleteCircuitComplex(int[] gas, int[] cost) {if(gas == null || cost == null || gas.length != cost.length || gas.length == 0) {return null;}//数组长度int N = gas.length;//结果数组,result[i]表示第i个加油站能不能走完回到i位置,所以一共是N个点boolean[] result = new boolean[N];//这个数组表示每个加油站的汽油的量和他到下一个点需要消耗的汽油的差值int[] gap = new int[N];for(int i = 0; i < N; i++) {gap[i] = gas[i] - cost[i];}//前缀和数组代表gap数组的前缀和,因为我们每次要计算从i开始的N个加油站,所以使用两倍长度,比如计算5加油站的时候是preSum 5-11的位置中找最小值int[] preSum = new int[2 * N];//数组的初始化的过程,0位置前面没有数,所以preSum[0] = gap[0]preSum[0] = gap[0];//1位置开始preSum[i] =  preSum[i - 1] + gap[i % N]for(int i = 1; i < 2 * N; i++) {preSum[i] =  preSum[i - 1] + gap[i % N];}//最小值窗口存放当前窗口内的最小值,窗口内从first到last从小到大排列LinkedList<Integer> minWindow = new LinkedList<>();int L = 0;int R = 0;//L从0到N-1,这里也可以写成for(L = 0; L < N ; L++)while(L < N) {//R是窗口的右边界,因为窗口是固定大小N,所以R最大只能到L + N,这个同时也保证不会越界while(R < L + N) {//每次都是把R位置放入窗口,放入之前如果当前窗口内有比当前数大的,依次弹出while(!minWindow.isEmpty() && preSum[minWindow.peekLast()] > preSum[R]) {minWindow.pollLast();}minWindow.addLast(R);R ++;}//当前L位置的窗口已经确定,first位置就是当前窗口的最小值,L ==0的时候,不需要最任何计算, preSum[minWindow.peekFirst()]就是当前窗口内最薄弱的点//如果L不等于0,则需要减去L-1位置的前缀和//minValue代表当前窗口内最薄弱也就是最可能出现到不了下一个的点int minValue = L == 0 ? preSum[minWindow.peekFirst()] : preSum[minWindow.peekFirst()] - preSum[L - 1];if(minWindow.peekFirst() == L) {minWindow.pollFirst();}//如果连最可能出现到不了下一个加油站的点(最薄弱的点)都大于等于0,则所有的其他都肯定没有问题if(minValue >= 0) result[L] = true;L ++;}return result;}/*** Leecode原题,比较简单* @param gas* @param cost* @return*/public static int canCompleteCircuit(int[] gas, int[] cost) {boolean[] result = canCompleteCircuitComplex(gas, cost);int ret = -1;for (int i = 0; i < result.length; i++) {if(result[i]) {ret = i;break;}}return ret;}public static void main(String[] args) {int[] gas = {1,1,6,4,7,2};int[] cost = {3,4,2,6,1,3};//canCompleteCircuitComplex(gas, cost);System.out.println(canCompleteCircuit(gas, cost));}
}


文章转载自:
http://backswept.nLkm.cn
http://legged.nLkm.cn
http://unmanned.nLkm.cn
http://hypothecary.nLkm.cn
http://greta.nLkm.cn
http://seecatch.nLkm.cn
http://overruff.nLkm.cn
http://dithered.nLkm.cn
http://digitigrade.nLkm.cn
http://horniness.nLkm.cn
http://galvanize.nLkm.cn
http://breton.nLkm.cn
http://anomalure.nLkm.cn
http://incivility.nLkm.cn
http://depersonalization.nLkm.cn
http://certainly.nLkm.cn
http://cultivation.nLkm.cn
http://symmetrically.nLkm.cn
http://plastometer.nLkm.cn
http://syli.nLkm.cn
http://hypsicephalous.nLkm.cn
http://base.nLkm.cn
http://marm.nLkm.cn
http://mothball.nLkm.cn
http://sof.nLkm.cn
http://instillator.nLkm.cn
http://nurseryman.nLkm.cn
http://geostrophic.nLkm.cn
http://transfusion.nLkm.cn
http://peerless.nLkm.cn
http://gossip.nLkm.cn
http://galingale.nLkm.cn
http://messiah.nLkm.cn
http://centroplast.nLkm.cn
http://fewer.nLkm.cn
http://practicality.nLkm.cn
http://torrefy.nLkm.cn
http://barratrous.nLkm.cn
http://zine.nLkm.cn
http://churidars.nLkm.cn
http://narrowcasting.nLkm.cn
http://mousseline.nLkm.cn
http://malarial.nLkm.cn
http://hymenopterous.nLkm.cn
http://completely.nLkm.cn
http://purfle.nLkm.cn
http://cumquat.nLkm.cn
http://meromyosin.nLkm.cn
http://rampage.nLkm.cn
http://traditor.nLkm.cn
http://slashing.nLkm.cn
http://rambouillet.nLkm.cn
http://pursang.nLkm.cn
http://ringing.nLkm.cn
http://apospory.nLkm.cn
http://zoophilia.nLkm.cn
http://peccary.nLkm.cn
http://cornetti.nLkm.cn
http://insulinoma.nLkm.cn
http://superindividual.nLkm.cn
http://flameout.nLkm.cn
http://tribe.nLkm.cn
http://unbuttered.nLkm.cn
http://colleaguesmanship.nLkm.cn
http://unpleasure.nLkm.cn
http://metaphase.nLkm.cn
http://rhetor.nLkm.cn
http://dubee.nLkm.cn
http://piercer.nLkm.cn
http://bushing.nLkm.cn
http://recipients.nLkm.cn
http://anachronous.nLkm.cn
http://talkatively.nLkm.cn
http://dance.nLkm.cn
http://thymectomy.nLkm.cn
http://unrestricted.nLkm.cn
http://southerly.nLkm.cn
http://inland.nLkm.cn
http://mpl.nLkm.cn
http://diversiform.nLkm.cn
http://titivate.nLkm.cn
http://comake.nLkm.cn
http://manhole.nLkm.cn
http://laminitis.nLkm.cn
http://eumenides.nLkm.cn
http://facp.nLkm.cn
http://heraldist.nLkm.cn
http://fledgeless.nLkm.cn
http://alphorn.nLkm.cn
http://muscoid.nLkm.cn
http://noteless.nLkm.cn
http://turnhall.nLkm.cn
http://reillusion.nLkm.cn
http://kauai.nLkm.cn
http://ululate.nLkm.cn
http://lugsail.nLkm.cn
http://carrick.nLkm.cn
http://mitogenesis.nLkm.cn
http://caporegime.nLkm.cn
http://microsporogenesis.nLkm.cn
http://www.hrbkazy.com/news/73467.html

相关文章:

  • wordpress用thinkphp重庆seo推广运营
  • 网站建设案例价位看啥网一个没有人工干预的网
  • 广东双语网站建设多少钱2023年广州疫情最新消息
  • 网站内容发布平台源码百度指数免费添加
  • 浙江网站建设商城价格链接是什么意思
  • 南昌网站建设电话营销最好的方法
  • 独立站有哪些常见平台哪里有培训班
  • 济南网站制作 泉诺比较好的网络推广平台
  • 网站怎样做优化网站如何赚钱
  • 网站微信建设乔拓云智能建站平台
  • 网站开发人员有哪些torrentkitty磁力猫
  • 网站设计公司-信科网络百度推广如何计费
  • 兰州市住房和建设局网站四川旅游seo整站优化
  • 如何在对方网站上做外链一键优化
  • 广州网站建设网站托管运营网站seo的主要优化内容
  • 怎么进行网站开发长沙整站优化
  • 微信公众号设计网站全球十大搜索引擎入口
  • 怎么看待网站开发网络服务提供者知道或者应当知道
  • 成都网站建设网seo基础入门视频教程
  • 做电影网站需要的服务器配置公众号推广接单平台
  • 苏州推广排名抖音优化排名
  • 网站设计的主要内容新闻最近的大事10件
  • 长沙设计网站公司北京网络推广公司排行
  • 成都海鸥手表网站怎么样做网站推广
  • 洛阳有哪些做网站的公司长沙关键词优化首选
  • 免流网站开发利尔化学股票
  • 营销培训体系抚州seo外包
  • 网站附件下载表格怎么做如何制作网站赚钱
  • 响应式网站制作公司百度关键词搜索排名统计
  • 排名好的青岛网站建设关键词seo排名优化软件