Разреженный массив
Существует набор входных строк и набор строк запросов. Для каждой строки запроса определите, сколько раз она встречается в списке входных строк. Например, при заданных входных строках = ['ab', 'ab', 'ab c'] и запросах = ['ab', 'ab c', 'b c'] мы находим 2 экземпляра «ab», 1 из «ab» и 0 из «b c». Для каждого запроса мы добавляем элемент в наш возвращаемый массив, результат = [2,1,0].
https://www.hackerrank.com/challenges/sparse-arrays/problem?isFullScreen=true
Я пробовал это решение, но оно проходит только 3 теста.
static int[] matchingStrings(String[] strings, String[] queries) {
int[] result_arr=new int[queries.length];
HashMap<String,Integer> map=new HashMap<>();
for(int i=0;i<queries.length;i++)
{
map.put(queries[i],i);
}
for(int i=0;i<strings.length;i++)
{
if(map.containsKey(strings[i]))
{
int index=map.get(strings[i]);
System.out.println(index);
result_arr[index]+=1;
}
}
return result_arr;
}