Advertisement
hemel18681

Smallest subarray with k distinct numbers

Feb 12th, 2020
523
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. //n= size of array
  2. //k= size of the length/unique element number/the size where you want to find most of the unique number
  3.  
  4. void minRange(long long arr[], long long n, long long k)
  5. {
  6. ll l = 0, r = n;
  7. for (ll i = 0; i < n; i++) {
  8. unordered_set<ll> s;
  9. ll j;
  10. for (j = i; j < n; j++) {
  11. s.insert(arr[j]);
  12. if (s.size() == k) {
  13. if ((j - i) < (r - l)) {
  14. r = j;
  15. l = i;
  16. }
  17. break;
  18. }
  19. }
  20. if (j == n)
  21. break;
  22. }
  23. cout << l << " " << r<<endl;
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement