完美世界笔试编程题AC一道
第一道题要计算的是最小漂流船,已知每艘船最多可以承载2人,但是重量不能超过limit,求最少需要多少船只?
第一行输入的是参与人员的体重数组,第二行输入的是漂流船承载的最大重量。求最小船只数?
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String[] str = sc.nextLine().split(" "); int limit = Integer.parseInt(sc.nextLine()); int n = str.length; int[] weight = new int[n]; for(int i=0;i<n;i++){ weight[i] = Integer.parseInt(str[i]); } Arrays.sort(weight); System.out.println(minchip(weight,limit)); } } private static int minchip(int[] weight, int limit) { int sum =0; int i=0,j=weight.length-1; while(i<=j){ if(weight[i]+weight[j]<=limit){ sum++; i++; j--; }else{ sum++; j--; } } return sum; } }第二道要计算主城之间的最小距离,应该是要用迪杰斯塔拉算法。时间不太够,没写出来。有大神AC出来的吗?