Java8 Stream API 风格简写

请问如何将以下cnt那一行代码简写?

    public int findDuplicate(int[] nums) {
        int low = 1;
        int high = nums.length - 1;
        while (low <= high) {
            int mid = (low + high) >> 1;
            int cnt =  IntStream.of(nums).boxed().collect(Collectors.toList()).stream().filter(x -> x <= mid).collect(Collectors.toList()).size();
            if (cnt > mid) {
                high = mid - 1;
            } else {
                low = mid + 1;
            }
        }
        return low;
    }

PS:代码是 Leetcode Find the Duplicate Number 的(一种)解法

阅读 4k
1 个回答
int cnt =  IntStream.of(nums).filter(x -> x<=mid).count();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题