• 模拟卷Leetcode【普通】081. 搜索旋转排序数组 II


    汇总:模拟卷Leetcode 题解汇总

    081. 搜索旋转排序数组 II

    已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同。

    在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转 ,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …, nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,4,4,5,6,6,7] 在下标 5 处经旋转后可能变为 [4,5,6,6,7,0,1,2,4,4] 。

    给你 旋转后 的数组 nums 和一个整数 target ,请你编写一个函数来判断给定的目标值是否存在于数组中。如果 nums 中存在这个目标值 target ,则返回 true ,否则返回 false 。

    你必须尽可能减少整个操作步骤。

    示例 1:

    输入:nums = [2,5,6,0,0,1,2], target = 0
    输出:true
    示例 2:

    输入:nums = [2,5,6,0,0,1,2], target = 3
    输出:false

    提示:

    1 <= nums.length <= 5000
    -104 <= nums[i] <= 104
    题目数据保证 nums 在预先未知的某个下标上进行了旋转
    -104 <= target <= 104

    进阶:

    这是 搜索旋转排序数组 的延伸题目,本题中的 nums  可能包含重复元素。
    这会影响到程序的时间复杂度吗?会有怎样的影响,为什么?

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/search-in-rotated-sorted-array-ii
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    代码:

    from leetcode_python.utils import *
    
    class Solution:
        def search(self, nums: List[int], target: int) -> bool:
            return target in nums
    
    
    def test(data_test):
        s = Solution()
        data = data_test    # normal
        # data = [List2Node(data_test[0])]  # list转node
        return s.getResult(*data)
    
    def test_obj(data_test):
        result = [None]
        obj = Solution(*data_test[1][0])
        for fun,data in zip(data_test[0][1::],data_test[1][1::]):
            if data:
                res = obj.__getattribute__(fun)(*data)
            else:
                res = obj.__getattribute__(fun)()
            result.append(res)
        return result
    
    if __name__ == '__main__':
        datas = [
            [],
        ]
        for data_test in datas:
            t0 = time.time()
            print('-'*50)
            print('input:', data_test)
            print('output:', test(data_test))
            print(f'use time:{time.time() - t0}s')
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    备注:
    GitHub:https://github.com/monijuan/leetcode_python

    CSDN汇总:模拟卷Leetcode 题解汇总

    可以加QQ群交流:1092754609

    leetcode_python.utils详见汇总页说明
    先刷的题,之后用脚本生成的blog,如果有错请留言,我看到了会修改的!谢谢!

  • 相关阅读:
    佳易王麻将馆计时收费系统怎么安装,麻将馆的灯控什么原理?
    通过Nginx Ingress实现灰度发布和蓝绿发布
    494. 目标和
    bug记录:html元素样式不管怎么调就是对不齐?
    C++面试题(基础)
    Jmeter性能监控
    如何高效实现 MySQL 与 elasticsearch 的数据同步
    数据分析面试题(2023.09.08)
    图文详解uni-app PC端宽屏适配方案
    设计模式:依赖倒转原则(Dependency Inversion Principle,DIP)介绍
  • 原文地址:https://blog.csdn.net/qq_34451909/article/details/126039095