1. Linear Minimum Scan
Intuition
Initialize minVal = nums[0]. Iterate through all elements nums[i]. If nums[i] < minVal, update minVal. Return minVal at the end.
When to apply: Basic baseline when array properties are not utilized.
Algorithm
- Step 1: Initialize minVal with nums[0].
- Step 2: Loop from index 1 to n - 1.
- Step 3: Update minVal = min(minVal, nums[i]).
- Step 4: Return minVal.
#include <iostream>#include <vector>#include <string>#include <algorithm>using namespace std; class Solution {public: int findMin(vector<int>& nums) { int ans = nums[0]; for (int x : nums) ans = min(ans, x); return ans; }}; int main() { // Sample driver execution cout << "Execution completed successfully." << endl; return 0;} Time & Space Complexity
- Time complexity:
O(n)— Must examine all n elements sequentially. - Space complexity:
O(1)— Uses a single variable for minimum storage.