Java教程

算法题:704二分查找

本文主要是介绍算法题:704二分查找,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

很长时间没写算法题了,从今天开始慢慢的复习一下。

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/binary-search
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

public class Solution {
    public int search(int[] nums, int target) {


        int left = 0, right = nums.length - 1;
        if (target < nums[left] || target > nums[right]) return -1;

        int mid = (left + right) / 2;
        while (left<=right) {
            if (target < nums[mid]) right = mid - 1;
            else if (target > nums[mid]) left = mid + 1;

            mid = (left + right) / 2;
            if(nums[mid]==target) return mid;
        }
        return -1;
    }
}

还行,很久没写算法题,第一次写就写出来了,没有错误,没有卡壳。希望以后面试遇到了也能这种状态写出来

 

这篇关于算法题:704二分查找的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!