Left Rotation in an Array using Java
There are two methods implemented by me here :-
1) Using extra Array
- Get new position of a current element using formula.
- Add the element in the new position in a new array.
2) Using same Array:- This is little bit complex
- hold variable at index i.
- find new index for variable.
- hold variable present at new index.
- place variable at index i to this new index.
- assign i to new index variable.
- 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); } }
You do not typically see this kind of|this type of|this kind of} flexibility in an entry-level device. Continuing to adopt additive manufacturing does pose some environmental downsides, however. Despite additive manufacturing decreasing waste from the subtractive manufacturing course of by a lot as} 90%, the additive manufacturing course of creates different types of waste corresponding to non-recyclable materials powders. Additive manufacturing has not yet reached its theoretical materials efficiency potential of 97%, but it may get closer as the technology continues to increase productivity. Others have suggested that as increasingly 3D printers begin to enter people's properties, Toilets the standard relationship between the home and the office may get further eroded. Likewise, it has additionally been suggested that, as it turns into simpler for businesses to transmit designs for new spanking new|for model new} objects across the globe, so the need for high-speed freight companies might also become much less.
ReplyDelete