🌟 Introduction
Arrays are one of the most basic yet powerful data structures in programming. A common problem in DSA interviews and practice is finding the smallest element in an array.
This problem helps you understand:
🧠 Problem Statement
Given an array of integers, find the smallest element present in the array.
Example 1
Input: [10, 20, 4, 45, 99]
Output: 4
Example 2
Input: [5, 7, 2, 9, 1]
Output: 1
⚙️ Approach
Initialize a variable min with the first element of the array.
Traverse through the array elements one by one.
Compare each element with min.
After the loop ends, min will contain the smallest element.
🔑 Pseudocode
function findMin(arr, n):
min = arr[0]
for i = 1 to n-1:
if arr[i] < min:
min = arr[i]
return min
💻 Implementation
✅ C Program
#include <stdio.h>
int findMin(int arr[], int n) {
int min = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
return min;
}
int main() {
int arr[] = {10, 20, 4, 45, 99};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Smallest element: %d\n", findMin(arr, n));
return 0;
}
✅ C++ Program
#include <iostream>
using namespace std;
int findMin(int arr[], int n) {
int min = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
return min;
}
int main() {
int arr[] = {10, 20, 4, 45, 99};
int n = sizeof(arr) / sizeof(arr[0]);
cout << "Smallest element: " << findMin(arr, n) << endl;
return 0;
}
✅ Java Program
public class SmallestElement {
public static int findMin(int[] arr) {
int min = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
return min;
}
public static void main(String[] args) {
int[] arr = {10, 20, 4, 45, 99};
System.out.println("Smallest element: " + findMin(arr));
}
}
⏱️ Time & Space Complexity
📌 Key Takeaways
The smallest element in an array can be found in a single pass.
No extra space is required except for one variable.
This problem forms the base for more advanced problems like sorting, searching, and min-heap implementation.
🎯 Conclusion
Finding the smallest element in an array is a fundamental DSA problem. It teaches you how to traverse arrays efficiently and use comparisons logically. Mastering such basics will make advanced concepts like sorting and searching much easier.