加油站算法

public class GasCircuit {
	int gas[];//每个加油站的油数量
	int cost[];//从i-i+1需要i数量的汽油
	   public void canCompleteCircuit(int[] gas, int[] cost) {
	        this.gas = gas;
			this.cost =cost;
			/**
			 *依此遍历每个加油站 
			 */
		 for(int i = 0; i=cost[currentGas])	{ //如果当前汽油大于或者等于所需汽油继续
				currentGasNum-=cost[currentGas];//当前汽油数减去所需汽油数
				if(currentGas==gas.length-1){currentGas = 0;}//如果当前站位最后一站 则到达站位的索引为0 ;
				else{currentGas++;}//如果当前站不为最后一站 则到达站位currentGas++
				if(currentGas==startGas) return startGas;//判断到达站是否为起始站 “是”则返回起始站索引
				}
			else{return -1;}//如果当前汽油小于需要汽油 返回-1;

		}
	}
	public static void main(String[] args) {
		int gas[]  = {3,3,4};
			int	cost[] = {3,4,4};

		new GasCircuit().canCompleteCircuit(gas, cost);
	}
}

 

你可能感兴趣的:(算法)