<p>已知存在一个按非降序排列的整数数组 <code>nums</code> ,数组中的值不必互不相同。</p> <p>在传递给函数之前,<code>nums</code> 在预先未知的某个下标 <code>k</code>(<code>0 <= k < nums.length</code>)上进行了 <strong>旋转 </strong>,使数组变为 <code>[nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]]</code>(下标 <strong>从 0 开始</strong> 计数)。例如, <code>[0,1,2,4,4,4,5,6,6,7]</code> 在下标 <code>5</code> 处经旋转后可能变为 <code>[4,5,6,6,7,0,1,2,4,4]</code> 。 </p> <p>给你 <strong>旋转后</strong> 的数组 <code>nums</code> 和一个整数 <code>target</code> ,请你编写一个函数来判断给定的目标值是否存在于数组中。如果 <code>nums</code> 中存在这个目标值 <code>target</code> ,则返回 <code>true</code> ,否则返回 <code>false</code> 。 </p> <p> </p> <p><strong>示例 1:</strong></p> <pre><strong>输入:</strong>nums = [2,5,6,0,0,1,2], target = 0<strong><br />输出:</strong>true</pre> <p><strong>示例 2:</strong></p> <pre><strong>输入:</strong>nums = [2,5,6,0,0,1,2], target = 3<strong><br />输出:</strong>false</pre> <p> </p> <p><strong>提示:</strong></p> <ul> <li><code>1 <= nums.length <= 5000</code></li> <li><code>-10<sup>4</sup> <= nums[i] <= 10<sup>4</sup></code></li> <li>题目数据保证 <code>nums</code> 在预先未知的某个下标上进行了旋转</li> <li><code>-10<sup>4</sup> <= target <= 10<sup>4</sup></code></li> </ul> <p> </p> <p><strong>进阶:</strong></p> <ul> <li>这是 <a href="https://leetcode-cn.com/problems/search-in-rotated-sorted-array/description/">搜索旋转排序数组</a> 的延伸题目,本题中的 <code>nums</code> 可能包含重复元素。</li> <li>这会影响到程序的时间复杂度吗?会有怎样的影响,为什么?</li> </ul>