1、问题介绍
问题介绍参鉴https://blog.csdn.net/liufeng_king/article/details/8678316
2、求解
package com.chb.DP;
import java.util.Arrays;
public class Johnson {
int[]a;
int[]b;
int[]c;
public Johnson(int[] a, int[] b) {
super();
this.a = a;
this.b = b;
c=new int[a.length];
}
private static class Element implements Comparable{
int key;
int index;
boolean job;
public Element(int key, int index, boolean job) {
super();
this.key = key;
this.index = index;
this.job = job;
}
@Override//根据key的值进行升序排序
public int compareTo(Object o) {
int keys=((Element)o).key;
if(key<keys)return -1;
if(key==keys)return 0;
return 1;
}
}
public int flowShop(int[]a,int[]b,int[]c) {
int n=a.length;
Element[]d=new Element[n];
for (int i = 0; i < n; i++) {
int key=a[i]>b[i]?b[i]:a[i];
boolean job=a[i]<=b[i];
d[i]&