Skip to main content

One of my favorite algorithms.

 

public static Integer search(List<Opportunity> opportunities, Integer target){

Integer first = 0;

Integer last = opportunities.size()-1;

while (first <= last) {

Integer middle = first + (last - first) / 2;

if (target == opportunities[middle].Amount)

return middle;

else if (target < opportunities[middle].Amount)

last = middle - 1;

else

first = middle + 1;

}

return -1;

}

1 resposta
0/9000