Right Circular Array Rotation
Given a String rotate the array by given number 'n'
#include <math.h>
#include <stdio.h>
int main(){
int n; int j=-1,r=0,s=0,i,m,p;
int k; //k=no.of.rotation
int q; //q=no.of.queries
//n=array size
scanf("%d %d %d",&n,&k,&q);int a[n],b[n];
for(i=0;i<n;i++)
{ scanf("%d",&a[i]);}
if(n>=k){
b[0]=a[n-k];r=n-k;}
if(n<k)
{
p=k/n;p=p*n;p=k-p;b[0]=a[n-p];r=n-p;
}
for(i=1;i<n;i++)
{ if(n>=k){ if(r<n-1){b[i]=a[++r];}
else if(j<n-k) { b[i]=a[++j]; }}
if(n<k){ if(r<n-1){b[i]=a[++r];}
else if(j<n-p) { b[i]=a[++j]; }}
}
for(i=0;i<q;i++)
{ scanf("%d",&m);
printf("%d\n",b[m]);
}
return 0;
}
Java
public String func (String str1, int n){
// write your code here
if(str1==null)
{
return null;
}
String result="";int k=str1.length();
n = n % k;
int m=0;
for(int i=0;i<k;i++)
{ m=i;
m= m - n;
if(m< 0)
{m = m + k;}
result=result+str1.charAt(m);
}
return result;
}
Input: "abcdefgh" n: 4 Output: "efghabcd"
Visit : https://c-programs-world.blogspot.in for more
Given a String rotate the array by given number 'n'
#include <math.h>
#include <stdio.h>
int main(){
int n; int j=-1,r=0,s=0,i,m,p;
int k; //k=no.of.rotation
int q; //q=no.of.queries
//n=array size
scanf("%d %d %d",&n,&k,&q);int a[n],b[n];
for(i=0;i<n;i++)
{ scanf("%d",&a[i]);}
if(n>=k){
b[0]=a[n-k];r=n-k;}
if(n<k)
{
p=k/n;p=p*n;p=k-p;b[0]=a[n-p];r=n-p;
}
for(i=1;i<n;i++)
{ if(n>=k){ if(r<n-1){b[i]=a[++r];}
else if(j<n-k) { b[i]=a[++j]; }}
if(n<k){ if(r<n-1){b[i]=a[++r];}
else if(j<n-p) { b[i]=a[++j]; }}
}
for(i=0;i<q;i++)
{ scanf("%d",&m);
printf("%d\n",b[m]);
}
return 0;
}
Java
public String func (String str1, int n){
// write your code here
if(str1==null)
{
return null;
}
String result="";int k=str1.length();
n = n % k;
int m=0;
for(int i=0;i<k;i++)
{ m=i;
m= m - n;
if(m< 0)
{m = m + k;}
result=result+str1.charAt(m);
}
return result;
}
Input: "abcdefgh" n: 4 Output: "efghabcd"
Visit : https://c-programs-world.blogspot.in for more
0 comments:
Post a Comment