Home > DeveloperSection > Forums > Search sorted List<Long> for closest and less than
Lady Bird Johnson
Lady Bird Johnson

Total Post:20

Points:140
Posted on    October-05-2013 7:53 AM

 C# C# 
Ratings:


 1 Reply(s)
 984  View(s)
Rate this:

Consider some long called X and a sorted List<Long>. What is the most efficient algorithm to find the index or value in the List<Long> that is (i) less than X, and (ii) The closest to X on the number line (assuming condition (i) has been satsified)?

For example this could be a problem setup:

long X = 500;
List<Long> foo = new Arraylist<Long>();
foo.add(450L);
foo.add(451L);    
foo.add(499L);
foo.add(501L);
foo.add(550L);
 
Collections.sort(foo); // It's always sorted.

I would like the algorithm to either return 499 or to return the index associated with 499 (in this casei=2).



Hank Greenberg
Hank Greenberg

Total Post:12

Points:84
Posted on    October-05-2013 9:01 AM

If 499 is unique than, use indexOf(Object) method.


Don't want to miss updates? Please click the below button!

Follow MindStick