问题描述:给定二维数组a,数组中元素递增,每一行元素按照从左到右递增,每一列元素按照从上到下递增。

判断关键值在数组中是否存在

 

基本思路:数组中元素有序,按照从小到大排列,依次查找或者使用二分查找法

 

关键点:如何将二分查找应用到二维数组中

自己的思路:二分查找需要知道待查找数组元素个数,进而调整查找边界,应该先确定二维数组的行数和列数,使用二维数组的两个下标来定位

 

自己的问题:

1、使用二分查找,未注意数组下标,一直提示数组越界或者堆栈溢出

2、好高骛远,没有尝试使用常规思路,例如按顺序依次查找,而是坚持用二分查找,花费大量时间毫无进展

 

总结:

1、遇到题目先分析是什么问题,然后考虑使用常规方法怎么答题,再考虑怎么使用技巧答题

2、脚踏实地,不能光想,要亲手实践,自己写出来能运行的代码才是正确的

 

相关知识点:二分查找的基本知识(从算法ppt上拷贝)

二分查找:

牛客网-剑指offer-二维数组查找(2)

牛客网-剑指offer-二维数组查找(2)

 

二维数组查找

https://blog.csdn.net/qq_35256722/article/details/53691946

 

关于vector

https://www.cnblogs.com/211-hwt/p/6747255.html

https://www.cnblogs.com/Nonono-nw/p/3462183.html

相关文章:

  • 2021-04-27
  • 2021-10-07
  • 2021-09-01
  • 2022-01-11
  • 2021-06-06
  • 2021-06-17
  • 2021-12-09
猜你喜欢
  • 2022-01-09
  • 2021-06-07
  • 2022-12-23
  • 2021-03-31
  • 2021-08-22
  • 2021-08-20
  • 2021-08-31
相关资源
相似解决方案