题解 | #二分查找#C++暴力二分查找解法

二分查找

https://www.nowcoder.com/practice/28d5a9b7fc0b4a078c9a6d59830fb9b9

class BinarySearch {
public:
    int getPos(vector<int> A, int n, int val) 
    {
        int i=0;
        int j=n-1;
        while(i<=j)
        {
            int mid=(i+j)/2;
            if(A[mid]==val)
            {
                for(i=mid;i>=0;i--)
                {
                    if(A[i]!=val)
                    {
                        return i+1;
                    }
                }
                return 0;
            }
            else 
            {
                if(A[mid]>val)
                {
                    j=mid-1;
                }
                else 
                {
                    i=mid+1;
                }
            }
        }
        return -1;
    }
};

全部评论

相关推荐

阿里巴巴各部门年终奖开奖了,有人拿到了220w
真烦好烦真烦:拿命换钱呢,公司给你220万,肯定是因为你对公司的贡献大于220万,想想要多厉害多累才能达到
投递阿里巴巴集团等公司10个岗位 >
点赞 评论 收藏
分享
03-26 15:18
已编辑
华北水利水电大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务