修理牧场数据结构java
时间: 2023-12-04 08:41:01 浏览: 170
以下是使用Java实现修理牧场的代码:
```java
import java.util.PriorityQueue;
public class RepairFarm {
public static void main(String[] args) {
int[] woods = {1, 2, 3, 4, 5}; // 木头长度数组
int n = woods.length; // 木头数量
PriorityQueue<Integer> pq = new PriorityQueue<Integer>(); // 创建小根堆
for (int i = 0; i < n; i++) {
pq.offer(woods[i]); // 将木头长度加入小根堆
}
int sum = 0;
while (pq.size() > 1) {
int x = pq.poll(); // 取出小根堆中最小的两个木头
int y = pq.poll();
sum += x + y; // 将两个木头长度相加
pq.offer(x + y); // 将相加后的长度加入小根堆
}
System.out.println(sum); // 输出修理牧场所需的最小代价
}
}
```
阅读全文