Java实现最长上升序列(结合优先队列等)

package com.Long;

import java.util.PriorityQueue;
import java.util.Queue;
import java.util.Random;


class node implements Comparable{
	int val;
	int Index;
	@Override
	public int compareTo(node arg0) {
		if(this.val > arg0.val)return 1;
		if(this.val < arg0.val)return -1;
		return 0;
	}
}


class Solution{
   
   private int arr[];
   private int maxLength[];
   private node data[];
   private Queue pq;
   
   public boolean LongPath(){
    
	   for(int i=1;iarr[j]) {
				   maxLength[i]=Math.max(maxLength[i],maxLength[j]+1);
			   }
		   }
	   }
      return true;
  
   }
   public Solution(int Length) {
	  arr=new int[Length];
	  maxLength=new int[Length];
	  data=new node[Length];
	  pq=new PriorityQueue(Length);
	  Random r=new Random();
	  for(int i=0;i 
 

  

你可能感兴趣的:(Java实现最长上升序列(结合优先队列等))