lintcode457. 经典二分查找问题

Posted 排序和map

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lintcode457. 经典二分查找问题相关的知识,希望对你有一定的参考价值。

[一刷]报错了无数遍

一句话思路:对有序整数进行二分查找

问题:

  1. 数组长度有问题,不会表示:就用if (nums.length == 0)就行了。而且corner case要写到方法最前面。
  2. start,end没有初始化。应该初始化,因为是从第0位查找起的,题目中没说.考虑到有0,end=nums.length - 1
  3. 没有定义mid,也要先定义,但是一开始不赋值
  4. 返回的是start end的位置,不是数组的数值nums[start],nums[end]
  5. return-1顶格写,不用else
  6. 花括号各种错,无语

总结:要分清楚角标和数字的关系,先定义角标,最后返回的也是角标

 

以上是关于lintcode457. 经典二分查找问题的主要内容,如果未能解决你的问题,请参考以下文章

二分查找模板Python实现

LintCode 14. 二分查找

LintCode 14---二分查找

二分查找总结及部分Lintcode题目分析 2

LintCode刷题---二分查找

二分查找总结及部分Lintcode题目分析 1