如何在(logn)时间内查找数字是排序数组中任何数字的因子

时间:2017-07-21 09:36:23

标签: algorithm binary-search

给定输入x和数组[a1,a2,a3..an],是否可以找到其中x是log(n)时间因子的最大数。

例如x = 2,

数组已排序,[1,2,4,4,9,13,18],

这里x的最大数量是因子是18.是否可以在log(n)时间内找到18。

1 个答案:

答案 0 :(得分:-2)

import java.util.ArrayList;
import java.util.Collections;
public class HelloWorld{

     public static void main(String []args){

          ArrayList<Integer> al2 = new ArrayList<Integer>();
         int a =4;
         int[] b={40,2,12,8,24,13,18};
        for(int j=0;j<b.length;j++)
         {
             if(b[j]%a==0)
             {
                al2.add(b[j]);
               Collections.sort(al2);
               }
         }
     System.out.println(al2.get(al2.size()-1));
     }
}