题解 | #找出特定体重的牛群#

找出特定体重的牛群

https://www.nowcoder.com/practice/bbc4c61a5bb64f329663b300a634ae6a

知识点

二分

解题思路

先通过二分法找到与目标target相等值的下标,在再这个下标的基础上找到目标值左边与右边的边界下标。

Java题解

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param weights int整型一维数组 
     * @param target int整型 
     * @return int整型一维数组
     */
    public int[] searchRange (int[] weights, int target) {
        // write code here
        int n = weights.length;
        int left = 0, right = n - 1;
        while(left <= right){
            int mid = left + (right - left) / 2;
            if(weights[mid] > target){
                left = mid + 1;
            } else if(weights[mid] < target) {
                right = mid - 1;
            } else {
                int start = mid, end = mid;
                while(start > 0 && weights[start - 1] == weights[start]) start--;
                while(end < n - 1 && weights[end] == weights[end + 1]) end++;
                return new int[]{start,end};
            }
        }
        return new int[]{-1,-1};
    }
}

全部评论

相关推荐

03-11 21:46
西北大学 Java
河和静子:这只是实习工资,我学长北大通班博一的,他同学被这家天天发邮件让他去实习,一个月10w
点赞 评论 收藏
分享
野猪不是猪🐗:现在的环境就是这样,供远大于求。 以前卡学历,现在最高学历不够卡了,还要卡第一学历。 还是不够筛,于是还要求得有实习、不能有gap等等... 可能这个岗位总共就一个hc,筛到最后还是有十几个人满足这些要求。他们都非常优秀,各方面都很棒。 那没办法了,看那个顺眼选哪个呗。 很残酷,也很现实
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务