关于#c++#的问题:下面的代码时间复杂度是logn 吗

下面的代码时间复杂度是logn 吗
class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        int beg=0;
        int end=nums.size();
        while(beg!=end){
            int pos=end/2;
            if(target==nums[pos])
                return pos;
            target<nums[pos]?end=pos:beg=pos;
        }
        return beg;
    }
};

是的,是O(logn)

是 O(n)