Thursday, 4 May 2017

Circular Array Rotation

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

0 comments:

Post a Comment

Popular Posts

Recent Posts

Unordered List

Text Widget

Pages

Blog Archive

Powered by Blogger.

Sample Text

Array - Shuffle merge

  Given a input two string (inputStr1) and (inputStr2), merge these two string by combining elements of same index Input String: "He...

Followers

Search This Blog

Ordered List

Theme Support