1.
Print a solid rectangle
for(int i=0;i<4;i++) {
for(int j=0;j<5;j++) {
System.out.print("* ");
}
System.out.println();
}
2. Print a hollow rectangle
for(int i=1;i<=4;i++) {
for(int j=1;j<=5;j++) {
if(i==1 || i==4 || j==1 || j==5)
System.out.print("* ");
else
System.out.print(" ");
}
System.out.println();
}
3. Right-angled triangle pattern
for(int i=1;i<=5;i++) {
for(int j=1;j<=i;j++) {
System.out.print("* ");
}
System.out.println();
}
4. Inverted triangle pattern
for(int i=5;i>=1;i--) {
for(int j=1;j<=i;j++) {
System.out.print("* ");
}
System.out.println();
}
5. Floyd's Triangle
int num = 1;
for(int i=1;i<=4;i++) {
for(int j=1;j<=i;j++) {
System.out.print(num++ + " ");
}
System.out.println();
}
6. Pascal's Triangle
int rows = 5;
for(int i=0;i<rows;i++) {
int num = 1;
for(int j=0;j<rows-i;j++) System.out.print(" ");
for(int j=0;j<=i;j++) {
System.out.print(num + " ");
num = num * (i - j) / (j + 1);
}
System.out.println();
}
7. Diamond Pattern
int n = 5;
for(int i=1;i<=n;i++) {
for(int j=i;j<n;j++) System.out.print(" ");
for(int j=1;j<=2*i-1;j++) System.out.print("*");
System.out.println();
}
for(int i=n-1;i>=1;i--) {
for(int j=n;j>i;j--) System.out.print(" ");
for(int j=1;j<=2*i-1;j++) System.out.print("*");
System.out.println();
}
8. Number pyramid
for(int i=1;i<=5;i++) {
for(int j=5;j>i;j--) System.out.print(" ");
for(int k=1;k<=i;k++) System.out.print(i + " ");
System.out.println();
}
9. 0-1 Pattern
for(int i=1;i<=5;i++) {
for(int j=1;j<=i;j++) {
if((i+j)%2==0) System.out.print("1 ");
else System.out.print("0 ");
}
System.out.println();
}
10. Zigzag pattern
for(int i=1;i<=3;i++) {
for(int j=1;j<=9;j++) {
if((i+j)%4==0 || (i==2 && j%4==0))
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
11. Linear Search
int[] arr = {10, 20, 30}; int key = 20;
for(int i=0;i<arr.length;i++) {
if(arr[i] == key) System.out.println("Found at " + i);
}
12. Binary Search
int[] arr = {10,20,30,40}; int key = 30;
int low = 0, high = arr.length-1;
while(low <= high) {
int mid = (low + high) / 2;
if(arr[mid] == key) break;
else if(arr[mid] < key) low = mid + 1;
else high = mid - 1;
}
13. Bubble Sort
for(int i=0;i<arr.length-1;i++) {
for(int j=0;j<arr.length-i-1;j++) {
if(arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
14. Selection Sort
for(int i=0;i<arr.length-1;i++) {
int min = i;
for(int j=i+1;j<arr.length;j++) {
if(arr[j] < arr[min]) min = j;
}
int temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
15. Insertion Sort
for(int i=1;i<arr.length;i++) {
int key = arr[i]; int j = i - 1;
while(j >= 0 && arr[j] > key) {
arr[j+1] = arr[j]; j--;
}
arr[j+1] = key;
}
16. Merge Sort
void mergeSort(int[] arr, int l, int r) {
if (l < r) {
int m = (l + r) / 2;
mergeSort(arr, l, m);
mergeSort(arr, m+1, r);
merge(arr, l, m, r);
}
}
17. Quick Sort
int partition(int[] arr, int low, int high) {
int pivot = arr[high]; int i = low - 1;
for(int j = low; j < high; j++) {
if(arr[j] < pivot) {
i++;
int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp;
}
}
int temp = arr[i+1]; arr[i+1] = arr[high]; arr[high] = temp;
return i + 1;
}
18. Count Sort
int max = Arrays.stream(arr).max().getAsInt();
int[] count = new int[max+1];
for(int i: arr) count[i]++;
int k = 0;
for(int i=0;i<count.length;i++) {
while(count[i]-- > 0) arr[k++] = i;
}
19. Search in Rotated Sorted Array
while(low <= high) {
int mid = (low + high)/2;
if(arr[mid] == key) return mid;
if(arr[low] <= arr[mid]) {
if(key >= arr[low] && key < arr[mid]) high = mid - 1;
else low = mid + 1;
} else {
if(key > arr[mid] && key <= arr[high]) low = mid + 1;
else high = mid - 1;
}
}
20. Kth Smallest Element
Arrays.sort(arr);
System.out.println(arr[k-1]);