leetcode腾讯精选-33

    xiaoxiao2025-04-15  30

    题目: https://leetcode-cn.com/problems/search-in-rotated-sorted-array 代码: int binarysearch(vector &nums, int target,int l,int e) { if (nums.empty()) { return -1; } if (l > e) { return -1; } while (l <= e) { int mid = (l + e + 1) / 2; if (nums[mid] == target) { return mid; } else { if (nums[mid] > target) { e = mid - 1; } else { l = mid + 1; } } }

    return -1;

    } class Solution { public: int search(vector& nums, int target) {

    int size = nums.size(); if (size == 0) { return -1; } int l = 0, e = size - 1; while (l <= e) { int mid = (l + e + 1) / 2; if (nums[mid] == target) { return mid; } else { if (nums[mid] > nums[l]) { if (target < nums[mid]&&target >= nums[l]) { return binarysearch(nums, target, l, mid - 1); } else { l = mid + 1; } } else { if (target > nums[mid]&&target <=nums[e]) { return binarysearch(nums, target, mid + 1, e); } else { e = mid - 1; } } } } return -1;

    }

    };

    结果:

    最新回复(0)