interfen(int[] nums,int k,int g){int l =0;int r = g;int mid =(l+r)/2;while(l<r){
mid =(l+r)/2;if(nums[mid]<k)
l = mid+1;else
r = mid;}return l;}//贪心算法+二分法查找int d[]=newint[nums.length+1];int len =0;
d[0]= nums[0];for(int i =0;i<nums.length;i++){if(d[len]<nums[i]){
len = len+1;
d[len]= nums[i];}elseif(d[len]>nums[i]){int t =erfen(d,nums[i],len);
d[t]= nums[i];}}return len+1;