| by suyi | No comments

Go:计算右侧小于当前元素的个数

T: 给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是  nums[i] 右侧小于 nums[i] 的元素的数量。

func countSmaller(nums []int) []int {
    // 定义一数组
    result := make([]int, len(nums))

    if len(nums) == 0 {return result}

    // 双重循环
    for idx, value := range nums{
        tmp := 0
        for i := idx + 1; i < len(nums); i ++ {
            if nums[i] < value{
                tmp ++
            }
        }
        // fmt.Println("tmp:", tmp, "idx:", idx)
        result[idx] = tmp
    }

    return result
}

发表评论