<p>给定一个按照升序排列的整数数组 <code>nums</code>,和一个目标值 <code>target</code>。找出给定目标值在数组中的开始位置和结束位置。</p> <p>如果数组中不存在目标值 <code>target</code>,返回 <code>[-1, -1]</code>。</p> <p><strong>进阶:</strong></p> <ul> <li>你可以设计并实现时间复杂度为 <code>O(log n)</code> 的算法解决此问题吗?</li> </ul> <p> </p> <p><strong>示例 1:</strong></p> <pre><strong>输入:</strong>nums = [5,7,7,8,8,10], target = 8<strong><br />输出:</strong>[3,4]</pre> <p><strong>示例 2:</strong></p> <pre><strong>输入:</strong>nums = [5,7,7,8,8,10], target = 6<strong><br />输出:</strong>[-1,-1]</pre> <p><strong>示例 3:</strong></p> <pre><strong>输入:</strong>nums = [], target = 0<strong><br />输出:</strong>[-1,-1]</pre> <p> </p> <p><strong>提示:</strong></p> <ul> <li><code>0 <= nums.length <= 10<sup>5</sup></code></li> <li><code>-10<sup>9</sup> <= nums[i] <= 10<sup>9</sup></code></li> <li><code>nums</code> 是一个非递减数组</li> <li><code>-10<sup>9</sup> <= target <= 10<sup>9</sup></code></li> </ul>