1365. How Many Numbers Are Smaller Than the Current Number

LeetCode の挑戦ログ

Problem

https://leetcode.com/problems/how-many-numbers-are-smaller-than-the-current-number/

  • 数字の配列が与えられる
  • それぞれの値より少ない値がいくつ含まれているか数える
  • その数を同じ index の配列にして返す

Solution

class Solution {
    public int[] smallerNumbersThanCurrent(int[] nums) {
        return Arrays.stream(nums)
                .map(base -> (int) Arrays.stream(nums).filter(num -> num < base).count())
                .toArray();
    }
}

Impressions

  • count に詰め替えているところは可読性を考えると関数に切り出してもいいかも
  • 結局コードの考え方としては総当たりに近いのでもうちょっといいアプローチがありそう