0% found this document useful (0 votes)
23 views15 pages

Drfgdfdgdfffgdss

1. The document discusses C++ programs for sorting vectors, binary searching, finding missing and repeating elements in an array, finding floor and ceil of a number in a sorted array, and finding a pair with a given sum in an array. 2. It includes functions for merging sorted vectors, binary searching a sorted vector, XORing all elements and numbers to find the missing and repeating element, and finding a pair with a given sum in an unordered set. 3. The programs take input, perform the specified operations, and output the results.

Uploaded by

sunsam098
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views15 pages

Drfgdfdgdfffgdss

1. The document discusses C++ programs for sorting vectors, binary searching, finding missing and repeating elements in an array, finding floor and ceil of a number in a sorted array, and finding a pair with a given sum in an array. 2. It includes functions for merging sorted vectors, binary searching a sorted vector, XORing all elements and numbers to find the missing and repeating element, and finding a pair with a given sum in an unordered set. 3. The programs take input, perform the specified operations, and output the results.

Uploaded by

sunsam098
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Week 6 A

1.
#include<bits/stdc++.h>
2.
using namespace std; #include<bits/stdc++.h>

using namespace std;

int main(){

int n;cin>>n; int main(){

vector<int>v; int n;cin>>n;

int temp; vector<int>v;

while(n--){ int temp;

cin>>temp; while(n--){

v.push_back(temp); cin>>temp;

} v.push_back(temp);

int x;cin>>x; }

for(int i=0;i<v.size();i++){ sort(v.begin(),v.end());

if(v[i]==x){ int x;cin>>x;

cout<<"True"<<endl; int left=0;

exit(0); int right=v.size()-1;

} int mid;

cout<<"False"; while(left<=right){

} mid=(left+right)/2;

if(v[mid]==x){

cout<<"True";

exit(0);

else if(v[mid]>x){

right=mid-1;

}
else{ }

left=mid+1; else if(v[i]>ran){

} v3.push_back(v[i]);

} }

cout<<"False"; else{

v1.push_back(v[i]);

} }

if(v1.size()>=k){

return ms(v1,k);

else if((v1.size()+v2.size())>=k){

return ms(v2,k-v1.size());

else{
3. return ms(v3,k-v1.size()-v2.size());
#include<bits/stdc++.h>
}
using namespace std;
}
int ms(vector<int>v,int k){

int n=v.size();

if(n<k){
int main(){
return -1;
vector<int>v;
}
int n;cin>>n;
if(n==1){
int temp;
return v[0];
while(n--){
}
cin>>temp;
vector<int>v1,v2,v3;
v.push_back(temp);
int ran=v[n/2];
}
for(int i=0;i<n;i++){
int k;
if(v[i]==ran){
cin>>k;
v2.push_back(v[i]);
cout<<ms(v,k);
} mid=left+((x-v[left])*(right-left))/(v[right]-
v[left]);

if(v[mid]==x){

cout<<"True";

exit(0);

else if(v[mid]>x){

right=mid-1;

}
4.
else{
#include<bits/stdc++.h>
left=mid+1;
using namespace std;
}

cout<<"False";
int main(){

int n;cin>>n;
}
vector<int>v;

int temp;

while(n--){

cin>>temp;

v.push_back(temp);

sort(v.begin(),v.end());

int x;cin>>x;
5.
#include<bits/stdc++.h>
int left=0;
using namespace std;
int right=v.size()-1;
int main(){
int mid;
int n;cin>>n;

vector<string>v;
while(left<=right){
string temp;
while(n--){

cin>>temp;
Week 6 B
v.push_back(temp);

string x;cin>>x; 1.
int left=0;
#include<bits/stdc++.h>
int right=v.size()-1;
using namespace std;
int mid;
int main(){
sort(v.begin(),v.end());
int n;
while(left<=right){
cout<<"Enter Range -> ";
mid=(left+right)/2;
cin>>n;
if(v[mid]==x){
vector<int>arr;
cout<<"True";
int temp;
exit(0);
int x = 0;
}
cout<<"Enter elements -> ";
else if(v[mid]>x){
for(int i=0;i<n;i++){
right=mid-1;
cin>>temp;
}
arr.push_back(temp);
else{
x=x^temp;
left=mid+1;
x=x^(i+1);
}
}
}
int a;
cout<<"False";
a=(x&~(x-1));
}
int xa=0;

int xb=0;

for(int i=0;i<arr.size();i++){

if((arr[i]&a)!=0){

xa=xa^arr[i];

else{

xb=xb^arr[i];
} #include<bits/stdc++.h>

for (int i = 1; i <= n; i++) { using namespace std;

if ((i & a) != 0) {

xa=xa^i; int main(){

} int n;

else { cout<<"Enter Number of elements -> ";

xb=xb^i; cin>>n;

} vector<int>arr;

} int temp;

int c=0; cout<<"Enter elements -> ";

for(int i=0;i<arr.size();i++){ for(int i=0;i<n;i++){

if(arr[i]==xa){ cin>>temp;

c++; arr.push_back(temp);

} }

} int x;

if(c==2){ bool flag=0;

cout<<"Missing = "<<xb<<endl; cout<<"Enter X -> ";

cout<<"Repeating = "<<xa; cin>>x;

} for(int i=0;i<n;i++){

else{ if(arr[i]>=x){

cout<<"Missing = "<<xa<<endl; flag = 1;

cout<<"Repeating = "<<xb; if(arr[i]==x){

} cout<<" Floor and Ceil both are "<<x;

} }

else if(i>0){

cout<<"Floor -> "<<arr[i-1]<<endl;

cout<<"Ceil -> "<<arr[i];

else{

cout<<"Floor Does Not exist"<<endl;

cout<<"Ceil -> "<<arr[i];


2.
} int temp;

break; unordered_set<int>s;

} cout<<"Enter elements -> ";

} for(int i=0;i<n;i++){

if(!flag){ cin>>temp;

cout<<"Floor -> "<<temp<<endl; s.insert(temp);

cout<<"Ceil Does Not exist"; auto it = s.find(abs(x-temp));

} if(it!=s.end()){

} flag =1;

cout<<"Pair Found:
("<<*it<<","<<temp<<")"<<endl;

if(!flag){

cout<<"Pair Not Found";

3.
#include<bits/stdc++.h>

using namespace std;

int main(){
4.
int x;
#include<bits/stdc++.h>
cout<<"Enter Element to be found -> ";
using namespace std;
cin>>x;
int rec(int &n,int m){
int n;
if(m==0){
cout<<"Enter Number of elements -> ";
return 0;
cin>>n;
}
bool flag=0;
return n+rec(n,m-1);
}

int main(){

int n , m;

cout<<"Enter Two Numbers -> ";

cin>>n>>m;

cout<<"Multiplication Using recursion ->


"<<rec(n,m); 6.
} #include<bits/stdc++.h>

using namespace std;

int rec(int n){

if (n == 0)

return 0;

return pow(n,n) + rec(n-1);

}
5.
int main(){
#include<bits/stdc++.h>
int n;
using namespace std;
cout<<"Enter N -> ";
int hcf(int n1, int n2) {
cin>>n;
if (n2 != 0)
cout<<"Sum of Series Using recursion ->
return hcf(n2, n1 % n2); "<<rec(n);
else }
return n1;

int main(){

int n , m;

cout<<"Enter Two Numbers -> ";

cin>>n>>m;

cout<<"LCM Using recursion ->


"<<(n*m)/hcf(n,m);

}
Week 7 A

1.
#include<bits/stdc++.h>

using namespace std;

vector<string>ans;

void permu(string &s,int idx){ 2.


if(idx==s.length()){ #include<bits/stdc++.h>

ans.push_back(s); using namespace std;

return;

for(int i=idx;i<s.size();i++){ vector<string>ans;

swap(s[i],s[idx]);

permu(s,idx+1); int merge(vector<int>&v,int low,int mid,int


high){
swap(s[i],s[idx]);
vector<int>temp;
}
int i = low;
}
int j = mid+1;
int main(){
int c=0;
string s;
while(i<=mid && j<=high){
cout<<"Enter string -> ";
if(v[i]<=v[j]){
cin>>s;
temp.push_back(v[i]);
permu(s,0);
i++;
sort(ans.begin(),ans.end());
}
cout<<"Permutations -> ";
else{
for(int i=0;i<ans.size();i++){
c+=(mid-i+1);
cout<<ans[i]<<" ";
temp.push_back(v[j]);
}
j++;
}
}

}
while(i<=mid){ cin>>v[i];

temp.push_back(v[i]); }

i++; cout<<"Inversion Count -> ";

} cout<<mergeSort(v,0,n-1);

while(j<=high){ }

temp.push_back(v[j]);

j++;

for(int k=low;k<=high;k++){

v[k]=temp[k-low];

return c;

int mergeSort(vector<int>&v,int low,int high){

if(low>=high){
3.
return 0; #include<bits/stdc++.h>

} using namespace std;

int mid = (low+high)/2; int median (vector<int>arr,int k){

int c=0; int n=arr.size()-1;

c+=mergeSort(v,low,mid); int m = n/2;

c+=mergeSort(v,mid+1,high); vector<int>a1;

c+=merge(v,low,mid,high); vector<int>a2;

return c; vector<int>a3;

} for(int i=0;i<=n;i++){

int main(){ if(arr[i]<arr[m]){

int n; a1.push_back(arr[i]);

cout<<"Enter no of Elements -> "; }

cin>>n; else if(arr[i]>arr[m]){

vector<int>v(n); a3.push_back(arr[i]);

cout<<"Enter Elements -> "; }

for(int i=0;i<n;i++){ else{


a2.push_back(arr[i]);

int x =a1.size()+a2.size();

if(a1.size()>=k){

return median(a1,k);

else if(x>=k){

return arr[m];

} 4.
else{ #include<bits/stdc++.h>
return median(a3,k-x); using namespace std;
}

int main(){ int minSwaps(vector<int>&arr){


int n; vector<int>temp(arr.size());
cout<<"Enter number of elements -> "; map< int,int >m;
cin>>n; for(int i=0;i<temp.size();i++){
cout<<"Enter elements -> "; m[arr[i]]=i;
vector<int>arr(n); temp[i]=arr[i];
for(int i=0;i<n;i++){ }
cin>>arr[i]; sort(temp.begin(),temp.end());
} int ans=0;
cout<<"Enter k -> "; for(int i=0;i<arr.size();i++){
int k; if(arr[i]!=temp[i]){
cin>>k; ans++;
cout<<k<<" smallest element -> swap(arr[i],arr[m[temp[i]]]);
"<<median(arr,k);
m[temp[i]]=i;
}
m[arr[i]]=m[temp[i]];

}
return ans; node(int v){

} data=v;

int main(){ down=NULL;

int n; next=NULL;

cout<<"Enter number of elements -> "; }

cin>>n; };

cout<<"Enter elements -> "; void flatten(node* &head){

vector<int>arr(n); if(!head || !head->next){

for(int i=0;i<n;i++){ return;

cin>>arr[i]; }

} node* tail =head;

cout<<"Min No. of Swaps -> node*start =head;


"<<minSwaps(arr);
while(tail->next){
}
tail=tail->next;

while(start!=tail){

if(start->down){

tail->next=start->down;

while(tail->next){

tail=tail->next;

Week 7
Week 7BB }

start=start->next;

}
1. return;
#include<bits/stdc++.h> }
using namespace std; node* listf(int arr[],int n){
struct node{ node* head=new node(arr[0]);
int data; if(n==1){
node* down; return head;
node* next; }
node* temp =head;

for(int i=1;i<n;i++){

temp->next=new node(arr[i]);

temp=temp->next;

return head;

} 2.
int main(){
class Solution {
int arr1[]={1,2,3};
public:
int arr2[]={4,5};
vector<vector<int<>
int arr3[]={6}; multiply(vector<vector<int<>& A,
vector<vector<int<>& B) {
int arr4[]={7};
int r1 = A.size();
int arr5[]={8};
int r2 = B.size();
int arr6[]={9};
int c1 = A[0].size();
node*head1=listf(arr1,3);
int c2 = B[0].size();
node*head2=listf(arr2,2);
vector < vector <int< > ret(r1, vector <int<
node*head3=listf(arr3,1); (c2));
node*head4=listf(arr4,1);
vector < pair <int, int> > sparseA[r1];
node*head5=listf(arr5,1); for(int i = 0; i < r1; i++){
node*head6=listf(arr6,1);
for(int j = 0; j < c1; j++){
head1->down=head2;
if(A[i][j] != 0)sparseA[i].push_back({j,
head1->next->next->down=head3; A[i][j]});

head2->down=head4; }

head2->next->down=head5; }

head3->down=head6; for(int i = 0; i < r1; i++){

flatten(head1); for(int j = 0; j < sparseA[i].size(); j++){

while(head1){ for(int k = 0; k < c2; k++){

cout<<head1->data<<"->"; int x = sparseA[i][j].first;

head1=head1->next; if(B[x][k] != 0){

} ret[i][k] += sparseA[i][j].second *
B[x][k];
}
} }

} return 0;

} }

} if(arr[i][j]){

return ret; ans[i][j]=1;

} if(rat(i,j+1,n,m,arr,ans)){
return 1;
};
}
if(rat(i+1,j,n,m,arr,ans)){
return 1;
}
if(rat(i,j-1,n,m,arr,ans)){
return 1;
}
if(rat(i-1,j,n,m,arr,ans)){
return 1;
}
ans[i][j]=0;
}
return 0;
3. }
#include<bits/stdc++.h> int main(){
using namespace std; int n,m;cin>>n>>m;
bool rat(int i,int j,int n,int m,int **arr,int int **arr=new int*[n];
**ans){
int **ans=new int*[n];
if(ans[i][j]){return false;}
for(int i=0;i<n;i++){
if(i>=n || i<0 || j<0 || j>=m){
arr[i]=new int[m];
return 0;
ans[i]=new int[m];
}
for(int j=0;j<m;j++){
if(i==n-1 && j==m-1){
cin>>arr[i][j];
if(arr[i][j]){
ans[i][j]=0;
ans[i][j]=1;
}
return 1;
} return 0;
if(rat(0,0,n,m,arr,ans)){ }
for(int i=0;i<n;i++){ }
for(int j=0;j<m;j++){ for(int i=y,j=x;i>-1 && j<m;i--,j++){
cout<<ans[i][j]<<" "; if(arr[i][j]){
} return 0;
cout<<endl; }
} }
} return 1;
else{ }
cout<<"Not possible"; bool nQueen(int x,int y,int n,int m,int **arr){
}} if(y>=n){
return 1;
}
for(int j=0;j<m;j++){
if(isSafe(j,y,n,m,arr)){

arr[y][j]=1;

if(nQueen(x,y+1,n,m,arr)){
return 1;
}
4.
arr[y][j]=0;
#include<bits/stdc++.h>
}
using namespace std; }
bool isSafe(int x,int y,int n,int m,int **arr){ return 0;
for(int i=y;i>-1;i--){ }
if(arr[i][x]){
return 0; int main(){

} int n,m;cin>>n>>m;

} int **arr=new int*[n];

for(int i=y,j=x;i>-1 && j>-1;i--,j--){ for(int i=0;i<n;i++){

if(arr[i][j]){ arr[i]=new int[m];


for(int j=0;j<m;j++){
arr[i][j]=0;
}
}
if(nQueen(0,0,n,m,arr)){
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cout<<arr[i][j]<<" ";
}
cout<<endl;
}
}
else{
cout<<"Not possible";
}
}

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy