#include #include /** * 704. Binary Search * * Given an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums. If target exists, then return its index. Otherwise, return -1. * You must write an algorithm with O(log n) runtime complexity. */ class Solution { public: static int search(const std::vector& nums, int target) { auto it = std::lower_bound(nums.begin(), nums.end(), target); return (it != nums.end() && target == *it) ? it - nums.begin() : -1; } };