Skip to main content

Left Rotation in an Array using Java

Left Rotation in an Array using Java

There are two methods implemented by me here :-

1) Using extra Array 
  1.  Get new position of  a current element using formula.
  2.  Add the element in the new position in a new array.


2) Using same Array:- This is little bit complex

  1. hold variable at index i.
  2. find new index for variable.
  3. hold variable present at new index.
  4. place variable at index i to this new index.
  5. assign i to new index variable.
  6. repeat steps until count is not equal to lenght of an array which simply means all variable got covered.



package Arrays;

/*
 * 12345 to 34512
 */

/*
 * sample input
 * 5 4(d=4 that is 4 rotations)
 1 2 3 4 5
 sample output
 51234
 */
public class LeftRotation {
 
 public static void printArray(int[] arr)
 {
  
  for(int i=0;i<arr.length;i++)
  {
  System.out.print(" "+arr[i]);
  }
  System.out.println(" ");
 }
 
 //method which returns rotated array using extra array
 public static int[] leftRotate(int[] arr, int rotation)
 {
  int temparr[]=new int[arr.length];
  int pos;
  for(int i=0;i<arr.length;i++)
  {
   pos=(arr.length+(i-rotation))%arr.length;
   temparr[pos]=arr[i];
  }
  printArray(temparr);
  
  return temparr;
 }

 //method which returns rotated array using same array
 public static int[] leftRotate2(int[] arr, int rotation)
 {
  
  int pos,tempinit,temppos=arr[0],i=0,c=0;
  
  while(c!=arr.length){
   tempinit=temppos;
   pos=(arr.length+(i-rotation))%arr.length;
   temppos=arr[pos];
   arr[pos]=tempinit; 
   i=pos;
   c++;
  }
  
  printArray(arr);
  
  return arr;
 }

 
 
 public static void main(String[] args)
 {
  int[] arr={1,2,3,4,5};
  leftRotate(arr, 3);
  leftRotate2(arr, 3);
 }
}

Comments

.

Popular posts from this blog

Driver program to perform operations in graph

Driver program to perform operations in graph:-



package com.problems.graph;publicclassGraphDriver{publicstaticvoidmain(String[] args){ BFSGraph g=new BFSGraph(); g.addVertex('A'); g.addVertex('B'); g.addVertex('C'); g.addVertex('D'); g.addVertex('E'); g.addVertex('F'); g.addVertex('G'); g.addVertex('H'); g.addEdge(0,1); g.addEdge(1,2); g.addEdge(1,7); g.addEdge(2,3); g.addEdge(2,4); g.addEdge(7,4); g.addEdge(4,5); g.addEdge(4,6); g.bfs();}}

WHAT DOES LOAD BALANCER DO BETWEEN CLIENT COMPUTER AND SERVERS?

Whenever we talk about websites we often tend to be restricted to the domain and hosting only. A person who is generally developing websites does only take care of designing the front end and moreover functionality related to back-end. Most of the  people never thought about the servers and load balancer. Even a student in computer science often confused about the true working of traffic management in servers as well as load balancing it to make sure running the website and application without causing any issue to the end users.
So this article is all about how actually the load balancer work in a real time environment. There are three things that need to understand
1.Client 2.Load balancer 3.Server
Server -Servers are computer programs running to serve the requests of other programs, the clients Thus, the server performs some tasks on behalf of clients. It facilitates the clients to share data, information or any hardware and software resources
The client is the end user who is using …