二分法常用模板

  1. java 二分法源代码采用的方法( Arrays.binarySearch() )
    ```
    public static int binarySearch1(int[] nums, int target){
    int left = 0;
    int right = nums.length -1; // [ left, right ]
    while (left <= right){ // left <= right
    int mid = (right - left) / 2 + left;
    if(nums[mid] > target){ // [ left, mid -1 ]
       right = mid - 1;
       } else if (nums[mid] < target ){   // [ mid + 1, right ]
       left = mid +1;
       } else {
       return mid;
       }
    return -1;
    }
  2. leetcode见到的二分法
public class Solution {
    /**
    * @param A an integer array sorted in ascending order
    * @param target an integer
    * @return an integer
    */
    public int findPosition(int[] nums, int target) {
        if (nums == null || nums.length == 0) {
            return -1;
        }
        int start = 0, end = nums.length - 1;
        while (start + 1 < end) {//这里最关键:保证进入while循环的必须是至少有三个数。
            int mid = start + (end - start) / 2;
            if (nums[mid] == target) {
                return mid;
            } else if (nums[mid] < target) { //这里保证的是返回第一个相同值。
                start = mid;
            } else {
                end = mid;
            }
        }
        return -1;
    }
}
全部评论

相关推荐

06-15 02:05
已编辑
南昌航空大学 数据分析师
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务