Skip to content

Commit 16ff46c

Browse files
authored
Add files via upload (#275)
1 parent 1692ead commit 16ff46c

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

Java/LeftRotateArrayByD.java

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package com.company;
2+
3+
public class LeftRotateArrayByD {
4+
5+
//Reversal Algorithm-->
6+
static void reverse(int[] arr, int low, int high){
7+
int temp=0;
8+
while (low<high) {
9+
temp = arr[low];
10+
arr[low] = arr[high];
11+
arr[high] = temp;
12+
low++;
13+
high--;
14+
}
15+
}
16+
17+
static void leftRotate(int[] arr, int d){
18+
if (d==0)
19+
return;
20+
21+
int n=arr.length;
22+
reverse(arr,0,d-1);
23+
reverse(arr, d,n-1);
24+
reverse(arr,0,n-1);
25+
}
26+
27+
// Better Method-->
28+
29+
// static void leftRotate(int[] arr, int d){
30+
// int[] temp = new int[d];
31+
// for (int i=0; i<d; i++)
32+
// temp[i]=arr[i];
33+
// for (int i=d; i< arr.length; i++)
34+
// arr[i-d]=arr[i];
35+
// for (int i=0; i<d; i++)
36+
// arr[arr.length-d+1]=temp[i];
37+
// }
38+
39+
// Naive Method-->
40+
41+
// static void leftRotateOne(int[] arr){
42+
// int n = arr.length;
43+
// int temp = arr[0];
44+
// for (int i=1; i<arr.length; i++)
45+
// arr[i-1]=arr[i];
46+
// arr[n-1]=temp;
47+
// }
48+
// static void LeftRotate(int[] arr, int d){
49+
// for (int i=0; i<d; i++)
50+
// leftRotateOne(arr);
51+
// }
52+
public static void main(String[] args) {
53+
int[] arr = new int[]{1,2,3,4,5};
54+
int d = 2;
55+
int n = arr.length;
56+
leftRotate(arr, 2);
57+
for (int i=0; i<n; i++)
58+
System.out.print(arr[i] + " ");
59+
}
60+
}

0 commit comments

Comments
 (0)