# 704. Binary Search **Published by:** [Vincentkovsky](https://paragraph.com/@wenzheng/) **Published on:** 2021-12-31 **URL:** https://paragraph.com/@wenzheng/704-binary-search ## Content 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. Example 1: Input: nums = [-1,0,3,5,9,12], target = 9 Output: 4 Explanation: 9 exists in nums and its index is 4 Example 2: Input: nums = [-1,0,3,5,9,12], target = 2 Output: -1 Explanation: 2 does not exist in nums so return -1 Constraints: 1 <= nums.length <= 104 -104 < nums[i], target < 104 All the integers in nums are unique. nums is sorted in ascending order. 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/binary-search 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。class Solution { public int search(int[] nums, int target) { int head=0; int tail=nums.length-1; while(true){ if(head>tail){ return -1; } int mid=(head+tail)/2; if(target==nums[mid]){ return mid; }else if(target<nums[mid]){ tail=mid-1; }else{ head=mid+1; } } } } ## Publication Information - [Vincentkovsky](https://paragraph.com/@wenzheng/): Publication homepage - [All Posts](https://paragraph.com/@wenzheng/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@wenzheng): Subscribe to updates