最近,刷题遇到了二分法的题目,感觉绝大多数题目都是一个同样的套路: 做100道题,不如静下心来总结几道题,将使用二分法的场景,使用二分法的步骤捋一捋,这样就是真正掌握了核心技术,而不是简单地背几个模板,有的可以应付过去,稍微变形一下,就无法动弹; 1 首先是找元素,二分法可以使用对数级别的时间复杂度 例如: {1,2,3,4,4,5,6} , 想要找到里面第一个4的位置; 思路就是:每次取中点的元素,将其与target进行比较,如果小于4,说明4在右半部分,因此需要更新left;否则就是在左半部分,更新right; int BinarySearchFisr...