diff --git a/Task1/img/sniggy10.jpg b/Task1/img/sniggy10.jpg new file mode 100644 index 00000000..eb28e871 Binary files /dev/null and b/Task1/img/sniggy10.jpg differ diff --git a/Task1/index.html b/Task1/index.html index 02288f78..5f9d8605 100644 --- a/Task1/index.html +++ b/Task1/index.html @@ -1293,7 +1293,18 @@
galacticGhoul
- + + +
+ +
+
Snigdha Ansu
+
+ + +
+
+
diff --git a/Task3/cpp/K_largest_elements.cpp b/Task3/cpp/K_largest_elements.cpp new file mode 100644 index 00000000..0e663437 --- /dev/null +++ b/Task3/cpp/K_largest_elements.cpp @@ -0,0 +1,68 @@ +#include + +using namespace std; +class Solution{ + +public: + void swap(int* a,int* b) + { + int temp = *a; + *a=*b; + *b=temp; + } + +public: + void max_heapify(int a[],int n,int i){ + int largest=i; + int l=2*i+1; + int r=2*i+2; + + if(la[largest]) + largest=l; + + if(ra[largest]) + largest=r; + + if(i!=largest){ + swap(&a[i],&a[largest]); + max_heapify(a,n,largest); + } + } +public: + vector kLargest(int arr[], int n, int k) { + + for(int i=n/2-1;i>=0;i--) + max_heapify(arr,n,i); + + vectorkl; + + for(int i=n-1;i>=n-k;i--) + { + kl.push_back(arr[0]); + swap(&arr[0],&arr[i]); + max_heapify(arr,i,0); + } + return kl; + } + +}; + +int main() { + int t; + cin >> t; + while (t--) { + int n, k; + cin >> n >> k; + int arr[n]; + for (int i = 0; i < n; i++) { + cin >> arr[i]; + } + Solution ob; + auto ans = ob.kLargest(arr, n, k); + for (auto x : ans) { + cout << x << " "; + } + cout << "\n"; + } + return 0; +}