JavaSE8基础 经典二分查找问题 折半查找

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE8基础 经典二分查找问题 折半查找相关的知识,希望对你有一定的参考价值。

 

question:

技术分享

 

code:

public class Solution {
    /**
     * @param nums: An integer array sorted in ascending order
     * @param target: An integer
     * @return an integer
     */
    public int findPosition(int[] nums, int target) {
        // Write your code here
        int start = 0;
        int end = nums.length - 1;
        int mid = 0;
        
		while(start <= end) {
		    
			mid = (start + end) / 2;
			
			if(target < nums[mid]) {
				end = mid - 1;
			} else if(target > nums[mid]) {
				start = mid + 1; 
			} else {
				return mid;
			}
		}
		
		return -1;
    }
}

 

result:

技术分享

 

以上是关于JavaSE8基础 经典二分查找问题 折半查找的主要内容,如果未能解决你的问题,请参考以下文章

经典算法——查找二分查找

经典算法二分查找循环实现Java版

二分查找及对应的几道经典题目

经典面试题:请手写一个二分查找法

C言语二分查找(折半查找)算法及代码

二分查找(折半查找)