package com.fishercoder.solutions;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 1365. How Many Numbers Are Smaller Than the Current Number
 *
 * Given the array nums, for each nums[i] find out how many numbers in the array are smaller than it.
 * That is, for each nums[i] you have to count the number of valid j's such that j != i and nums[j] < nums[i].
 * Return the answer in an array.
 *
 * Example 1:
 * Input: nums = [8,1,2,2,3]
 * Output: [4,0,1,1,3]
 * Explanation:
 * For nums[0]=8 there exist four smaller numbers than it (1, 2, 2 and 3).
 * For nums[1]=1 does not exist any smaller number than it.
 * For nums[2]=2 there exist one smaller number than it (1).
 * For nums[3]=2 there exist one smaller number than it (1).
 * For nums[4]=3 there exist three smaller numbers than it (1, 2 and 2).
 *
 * Example 2:
 * Input: nums = [6,5,4,8]
 * Output: [2,1,0,3]
 *
 * Example 3:
 * Input: nums = [7,7,7,7]
 * Output: [0,0,0,0]
 *
 * Constraints:
 * 2 <= nums.length <= 500
 * 0 <= nums[i] <= 100
 * */
public class _1365 {
    public static class Solution1 {
        public int[] smallerNumbersThanCurrent(int[] nums) {
            int[] result = new int[nums.length];
            int[] tmp = Arrays.copyOf(nums, nums.length);
            Arrays.sort(tmp);
            List<Integer> list = new ArrayList<>();
            for (int i : tmp) {
                list.add(i);
            }
            for (int i = 0; i < nums.length; i++) {
                result[i] = list.indexOf(nums[i]);
            }
            return result;
        }
    }
}

@@ -110,944 +110,8 @@
 t;%0A%0A
-/**%0A * 1365. How Many Numbers Are Smaller Than the Current Number%0A *%0A * Given the array nums, for each nums%5Bi%5D find out how many numbers in the array are smaller than it.%0A * That is, for each nums%5Bi%5D you have to count the number of valid j's such that j != i and nums%5Bj%5D %3C nums%5Bi%5D.%0A * Return the answer in an array.%0A *%0A * Example 1:%0A * Input: nums = %5B8,1,2,2,3%5D%0A * Output: %5B4,0,1,1,3%5D%0A * Explanation:%0A * For nums%5B0%5D=8 there exist four smaller numbers than it (1, 2, 2 and 3).%0A * For nums%5B1%5D=1 does not exist any smaller number than it.%0A * For nums%5B2%5D=2 there exist one smaller number than it (1).%0A * For nums%5B3%5D=2 there exist one smaller number than it (1).%0A * For nums%5B4%5D=3 there exist three smaller numbers than it (1, 2 and 2).%0A *%0A * Example 2:%0A * Input: nums = %5B6,5,4,8%5D%0A * Output: %5B2,1,0,3%5D%0A *%0A * Example 3:%0A * Input: nums = %5B7,7,7,7%5D%0A * Output: %5B0,0,0,0%5D%0A *%0A * Constraints:%0A * 2 %3C= nums.length %3C= 500%0A * 0 %3C= nums%5Bi%5D %3C= 100%0A * */%0A
 publ

refactor 1365