Сравнение значений двух массивов для каждого индекса и подсчет, если условие выполняется - PullRequest
0 голосов
/ 22 апреля 2020

Сравнение значений двух массивов и подсчет того, сколько значений в массиве 2 меньше, чем массив1 , я использовал вложенный для l oop, но это дает O (n ^ 2) сложность времени, которая неэффективна. Ниже мой код: -

#include<bits/stdc++.h>
#define fo(i, num) for (long long int i = 1; i <= num; i++)
#define foo(i,arr2) for(long long int i = 0; i < arr2.size(); i++)
#define fooo(j,arr1)for(long long int j = 0; j < arr1.size(); j++)

// now take input by yourself

 fo(i,num) 
//take input of array 1

fo(i,num) 
//take input of array 2

//then sort both arrays
for(long long int i = 0; i < arr2.size(); i++)
   for(long long int j = 0; j < arr1.size(); j++){
       if(arr2[i] < arr1[j]){     
 arr1.erase(arr1.begin()+j);
    count++;
    break;
    }}}printf("%lli",count);

По этому коду мой код успешно работает, но я получаю TLE на некоторых входах.

** Может кто-нибудь помочь мне, составив эффективный код сложности O (n)? ** `

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...