1365. How Many Numbers Are Smaller Than the Current Number
: easy
Дан Array nums. Для каждого elementа nums[i] определите, сколько чисел в Arrayе меньше его. То есть, для каждого nums[i] вам нужно посчитать количество допустимых j, таких что j != i и nums[j] < nums[i].
return ответ в виде Arrayа.
Beispiel
Input: nums = [6,5,4,8]
Output: [2,1,0,3]
C# Lösung
zugeordnet/originalusing System;
using System.Linq;
public class Solution {
public int[] SmallerNumbersThanCurrent(int[] nums) {
int[] sortedNums = (int[]) nums.Clone();
Array.Sort(sortedNums);
return nums.Select(num => Array.IndexOf(sortedNums, num)).ToArray();
}
}
C++ Lösung
Auto-Entwurf, vor dem Einreichen prüfen#include <bits/stdc++.h>
using namespace std;
// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
public vector<int>& SmallerNumbersThanCurrent(vector<int>& nums) {
vector<int>& sortedNums = (int[]) nums.Clone();
sort(sortedNums.begin(), sortedNums.end());
return nums.Select(num => Array.IndexOf(sortedNums, num)).ToArray();
}
}
Java Lösung
Auto-Entwurf, vor dem Einreichen prüfenimport java.util.*;
import java.math.*;
// Auto-generated Java draft from the C# solution. Review API differences before LeetCode submit.
public class Solution {
public int[] SmallerNumbersThanCurrent(int[] nums) {
int[] sortedNums = (int[]) nums.Clone();
Arrays.sort(sortedNums);
return nums.Select(num => Array.IndexOf(sortedNums, num)).ToArray();
}
}
Python Lösung
zugeordnet/originalclass Solution:
def smallerNumbersThanCurrent(self, nums: List[int]) -> List[int]:
sorted_nums = sorted(nums)
return [sorted_nums.index(num) for num in nums]
Go Lösung
zugeordnet/originalimport "sort"
func smallerNumbersThanCurrent(nums []int) []int {
sortedNums := append([]int(nil), nums...)
sort.Ints(sortedNums)
result := make([]int, len(nums))
for i, num := range nums {
result[i] = indexOf(sortedNums, num)
}
return result
}
func indexOf(nums []int, target int) int {
for i, num := range nums {
if num == target {
return i
}
}
return -1
}
Algorithm
Создание копии и сортировка Arrayа:
Создайте отсортированную копию Arrayа nums, чтобы легко находить количество elementов, меньших текущего.
Поиск индекса каждого elementа:
Для каждого elementа nums[i] find его индекс в отсортированной копии Arrayа. Этот индекс указывает количество elementов, меньших nums[i].
Формирование ответа:
Сформируйте Array ответов, где каждый element будет соответствовать количеству чисел, меньших текущего.
😎
Stellen zu dieser Aufgabe
aktive Stellen with overlapping task tags are angezeigt.