1. 题目
2. 分析
这道题的难点有二:第一,知道用二分法求解;第二,二分判断的标准是什么?传统的题目的二分标注都是跟某个固定的值做比较,但是此题不然。此题的比较对象是相邻的元素。
不要硬凭自己的脑子想,要结合题意,将分析落到纸上。
3. 代码
根据上面的分析,那么可以得到下面这个代码:
上面这个代码一堆if-else,显然不够优雅。可以看到其主要拙劣的地方在于对mid 值的判断。借鉴一下官方题解中的代码:
写的确实比我的代码好。
这道题的难点有二:第一,知道用二分法求解;第二,二分判断的标准是什么?传统的题目的二分标注都是跟某个固定的值做比较,但是此题不然。此题的比较对象是相邻的元素。
不要硬凭自己的脑子想,要结合题意,将分析落到纸上。
根据上面的分析,那么可以得到下面这个代码:
上面这个代码一堆if-else,显然不够优雅。可以看到其主要拙劣的地方在于对mid 值的判断。借鉴一下官方题解中的代码:
写的确实比我的代码好。