一,问题分析
参考该博主:
列出普通解法的伪代码及时间复杂度的分析
二,代码部分
1,普通方法,较简单
public class circuit_wiring{
public int circuit(int[] pai,int n,int max){
for(int i=0;i<n;i++){
int count=1;
int t=pai[i];
for(int j=i+1;j<n;j++){
if(pai[j]>t){
count++;
t=pai[j];
if(max<count){
max=count;
}
}
}
}
return max;
}
public static void main(String[] args) {
int max=0;
circuit_wiring mod=new circuit_wiring();
int[] pai={8,7,4,2,5,1,9,3,10,6};
System.out.println("对应的接线柱排列为:");
for(int i=0;i<pai.length;i++){
System.out.print(pai[i]+" ");
}
System.out.println();
System.out.println("电路布线的最大不相交连线数目为:"+mod.circuit(pai,pai.length,max));
}
}
2,动态规划方法
参考该博主
版权声明:本文为qq_58668057原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。