You really must not expect to be given code here. This is obviously a homework project, and copying code that someone else has written for you would be cheating.
However, if the logic of doing such things has not been explained adequately to you (or if you were "too busy" to listen to that bit), you are pretty much screwed.
I'll give you the logic, because it's a slow day and I'm bored, but next time read your course book and have a go yourself, before asking for help.
There are several ways to do it, but one of the most cost-efficient (although certainly not the prettiest) methods for a data set that size would probably be a simple comparison or two, followed by a succession of secondary comparisons.
If you have to make it work for a dataset of any size, change it to use a binary search on the diagonal values ([1,1], [2,2] ... [n,n]), then further binary searches "up and across".
The logic:
Stop if the number is found
test [2,2]
if [2,2] is greater
test [1,1]
if [1,1] is greater
test [0,0]
test-up-and-across(1,1)
else test-up-and-across(2,2)
else test [3,3]
if [3,3] is greater
test-up-and-across(3,3)
test-up-and-down(x.y)
set n to x
while n is not zero
subtract one from n
test [n,y]
set n to y
while n is not zero
subtract one from n
test [x,n]
It should be easy enough for you to code it from that, and doing so will make you understand what is being done by the code.
The Big O will depend on how you code it (most particularly on how you terminate it after finding the number).