Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //I think I read this in a book somewhere, but it seems like a very elegant solution. Typing from memory, so this may or may not work as-is.
- public boolean findElem(int matrix[][], int elem)
- {
- int rows = matrix.length;
- int cols = matrix[0].length;
- int start = 0;
- int end = rows*cols - 1;
- while(start<= end)
- {
- int mid = start + (end-start)/2;
- int row = mid/cols;
- int col = mid% cols;
- int curElem = matrix[row][col];
- if(curElem == elem)
- return true;
- if(curElem > elem)
- end = mid - 1;
- else
- start = mid + 1;
- }
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement