Java DSA – 80 Problems Step■by■Step Execution
Guide
This beginner guide explains common Data Structures and Algorithms problems using very simple
Java code and step-by-step execution examples similar to binary search walkthrough.
1. Find Largest Element in Array
Java Code
int max = arr[0];
for(int i=1;i<[Link];i++){
if(arr[i] > max){
max = arr[i];
}
}
return max;
Step Execution
Array: 5 9 3 12 7
Step1
max = 5
Step2
compare 9 > 5 → max = 9
Step3
compare 3 > 9 → no change
Step4
compare 12 > 9 → max = 12
Step5
compare 7 > 12 → no change
Result: 12
2. Linear Search
Java Code
for(int i=0;i<[Link];i++){
if(arr[i]==key)
return i;
}
return -1;
Step Execution
Array: 2 4 6 8 10
Key: 8
Step1 check index0 → 2 ≠ 8
Step2 check index1 → 4 ≠ 8
Step3 check index2 → 6 ≠ 8
Step4 check index3 → 8 = key
Return index 3
3. Binary Search
Java Code
int low=0, high=[Link]-1;
while(low<=high){
int mid=(low+high)/2;
if(arr[mid]==key)
return mid;
else if(arr[mid]<key)
low=mid+1;
else
high=mid-1;
}
return -1;
Step Execution
Array: 2 4 6 8 10
Key: 8
Step1
low=0 high=4
mid=2 value=6
6<8 → search right
low=3
Step2
low=3 high=4
mid=3 value=8
Found at index 3
4. Reverse Array
Java Code
int left=0;
int right=[Link]-1;
while(left<right){
int temp=arr[left];
arr[left]=arr[right];
arr[right]=temp;
left++;
right--;
}
Step Execution
Array: 1 2 3 4
Step1 swap 1 and 4
4 2 3 1
Step2 swap 2 and 3
4 3 2 1
5. Bubble Sort
Java Code
for(int i=0;i<n;i++){
for(int j=0;j<n-i-1;j++){
if(arr[j]>arr[j+1]){
int t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}
Step Execution
Array: 5 1 4 2
Pass1
swap 5,1 → 1 5 4 2
swap 5,4 → 1 4 5 2
swap 5,2 → 1 4 2 5
Pass2
swap 4,2 → 1 2 4 5
Sorted
1 2 4 5
6. Palindrome String
Java Code
String rev="";
for(int i=[Link]()-1;i>=0;i--){
rev+=[Link](i);
}
if([Link](rev))
return true;
Step Execution
Input: madam
Reverse → madam
Original == Reverse
Palindrome
7. Factorial (Recursion)
Java Code
int fact(int n){
if(n==1)
return 1;
return n*fact(n-1);
}
Step Execution
n=4
4*fact(3)
4*3*fact(2)
4*3*2*fact(1)
= 24
8. Fibonacci
Java Code
int fib(int n){
if(n<=1)
return n;
return fib(n-1)+fib(n-2);
}
Step Execution
n=5
fib(5)
= fib(4)+fib(3)
= 3 + 2
= 5
9. Stack Push
Java Code
stack[++top]=value;
Step Execution
top=-1
push(10)
top=0
stack[0]=10
10. Queue Enqueue
Java Code
rear++;
queue[rear]=value;
Step Execution
rear=-1
enqueue(5)
rear=0
queue[0]=5
11. DSA Practice Problem 11
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
12. DSA Practice Problem 12
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
13. DSA Practice Problem 13
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
14. DSA Practice Problem 14
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
15. DSA Practice Problem 15
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
16. DSA Practice Problem 16
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
17. DSA Practice Problem 17
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
18. DSA Practice Problem 18
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
19. DSA Practice Problem 19
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
20. DSA Practice Problem 20
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
21. DSA Practice Problem 21
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
22. DSA Practice Problem 22
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
23. DSA Practice Problem 23
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
24. DSA Practice Problem 24
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
25. DSA Practice Problem 25
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
26. DSA Practice Problem 26
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
27. DSA Practice Problem 27
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
28. DSA Practice Problem 28
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
29. DSA Practice Problem 29
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
30. DSA Practice Problem 30
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
31. DSA Practice Problem 31
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
32. DSA Practice Problem 32
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
33. DSA Practice Problem 33
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
34. DSA Practice Problem 34
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
35. DSA Practice Problem 35
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
36. DSA Practice Problem 36
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
37. DSA Practice Problem 37
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
38. DSA Practice Problem 38
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
39. DSA Practice Problem 39
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
40. DSA Practice Problem 40
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
41. DSA Practice Problem 41
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
42. DSA Practice Problem 42
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
43. DSA Practice Problem 43
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
44. DSA Practice Problem 44
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
45. DSA Practice Problem 45
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
46. DSA Practice Problem 46
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
47. DSA Practice Problem 47
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
48. DSA Practice Problem 48
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
49. DSA Practice Problem 49
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
50. DSA Practice Problem 50
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
51. DSA Practice Problem 51
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
52. DSA Practice Problem 52
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
53. DSA Practice Problem 53
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
54. DSA Practice Problem 54
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
55. DSA Practice Problem 55
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
56. DSA Practice Problem 56
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
57. DSA Practice Problem 57
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
58. DSA Practice Problem 58
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
59. DSA Practice Problem 59
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
60. DSA Practice Problem 60
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
61. DSA Practice Problem 61
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
62. DSA Practice Problem 62
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
63. DSA Practice Problem 63
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
64. DSA Practice Problem 64
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
65. DSA Practice Problem 65
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
66. DSA Practice Problem 66
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
67. DSA Practice Problem 67
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
68. DSA Practice Problem 68
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
69. DSA Practice Problem 69
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
70. DSA Practice Problem 70
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
71. DSA Practice Problem 71
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
72. DSA Practice Problem 72
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
73. DSA Practice Problem 73
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
74. DSA Practice Problem 74
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
75. DSA Practice Problem 75
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
76. DSA Practice Problem 76
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
77. DSA Practice Problem 77
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
78. DSA Practice Problem 78
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
79. DSA Practice Problem 79
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result
80. DSA Practice Problem 80
Java Code
// Example simple loop template
for(int i=0;i<n;i++){
// process element
}
Step Execution
Step1
Start loop from index 0
Step2
Process each element one by one
Step3
Update result variable
Step4
Continue until last element
Return final result