GFGJava
GFGJava
for(int i=0;i<size;i++) {
boolean swapped=false;
for(int j=0;j<size-1;j++) {
if(arr[j]>arr[j+1]) {
arr[j]=(arr[j]+arr[j+1])-(arr[j+1]=arr[j]);
swapped=true;
}
}
if(!swapped)
break;
}
System.out.println(Arrays.toString(arr));
}
}
for(int i=1;i<size;i++) {
int key=arr[i];
int j=i-1;
while(j>=0&&key<arr[j]) {
arr[j+1]=arr[j];
j--;
}
arr[j+1]=key;
}
System.out.println(Arrays.toString(arr));
}
}
for(int i=0;i<size-1;i++) {
int minIdx=i;
int j;
for(j=i+1;j<size;j++) {
if(arr[j]<arr[minIdx])
minIdx=j;
}
arr[minIdx]=(arr[i]+arr[minIdx])-(arr[i]=arr[minIdx]);
}
System.out.println(Arrays.toString(arr));
}
}
int[]res=merge(arr);
System.out.println(Arrays.toString(res));
}
while(i<left.length&&j<right.length) {
if(left[i]<right[j])
res[k++]=left[i++];
else
res[k++]=right[j++];
}
while(i<left.length)
res[k++]=left[i++];
while(j<right.length)
res[k++]=right[j++];
return res;
}
}
public class QuickSort {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int size = sc.nextInt();
int[] arr = new int[size];
for (int i = 0; i < size; i++) {
arr[i] = sc.nextInt();
}
quickSort(arr,0,size-1);
System.out.println(Arrays.toString(arr));
}
int pivot=arr[mid];
while(start<=end) {
while(arr[start]<pivot)
start++;
while(arr[end]>pivot)
end--;
if(start<=end) {
int temp=arr[start];
arr[start]=arr[end];
arr[end]=temp;
start++;
end--;
}
}
quickSort(arr,low,end);
quickSort(arr,start,high);
}
}
BACKTRACKING
public class NQueens {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[][] board = new int[n][n];
if (solveNQUtil(board, 0, n) == false)
System.out.println("Solution Does not Exist");
else {
for (int i = 0; i < n; i++) {
System.out.println(Arrays.toString(board[i]));
}
}
}
board[i][col] = 0;
}
}
return false;
}
private static boolean isSafe(int[][] board, int row, int col, int n) {
return true;
}
}
class Solution {
List<List<String>> res=new ArrayList<>();
public List<List<String>> solveNQueens(int n) {
if(n==1){
List<String>list=new ArrayList<>();
list.add("Q");
res.add(list);
return res;
}
for(int i=row,j=col;i>=0&&j>=0;i--,j--){
if(board[i][j]=='Q')
return false;
}
for(int i=row,j=col;i<board.length&&j>=0;i++,j--){
if(board[i][j]=='Q')
return false;
}
return true;
}
}