汽车加油问题

  问题描述:汽车加满油后最远能行驶N千米,从A地到B地,中途有若干加油站,设计一个算法,使得汽车在A到B过程中,加油次数最少。  

//加油站间距 加油站点 加满油后行驶的路程
 public static int Greedy(int distance[], ArrayList<Integer> list, int n)
 { //s--行驶的路程
        int i, s=0, k = distance.length;
        for (i = 0; i < k; i++)
        {
            if (distance[i] > n)
            {//不能到达目的地
                return -1;
            }
        }
        for (i = 0; i < k; i++)
        {
            s += distance[i];
            if (s > n)
            {//需要加油
             list.add(i);
                s = distance[i];
            }
        }
        return list.size();
 }

你可能感兴趣的:(汽车加油问题)