思路

1 利用数组的查找

2 优化角度:因为数组本身是有序的,所以从某个位置查找开始可以节省大量时间成本

代码

思路一:

  1. function Find(target, array)
  2. {
  3. return array.find(arr=>arr.find(e=>e===target))
  4. }

思路二 :

  1. function Find(target, array)
  2. {
  3. if(array.length===0){
  4. return false
  5. }
  6. let x= array[0].length
  7. let y = array.length
  8. let i = y -1 ,j=0;
  9. while(i>=0&&j<x){
  10. if(target>array[i][j]){
  11. j++
  12. }else if(target<array[i][j]){
  13. i--
  14. }else{
  15. return true
  16. }
  17. }
  18. return false
  19. }

小结

小范围数据内可以利用无序数组的常规方法进行分别查找,但数组既然是有序的,可以利用这一特点,从某个位置开始查找,比从初始位置查找时间效率要高