1. Linear Increment Check
Intuition
Loop i from 1 upwards. If i * i == num return true; if i * i > num return false.
When to apply: Basic baseline check.
Algorithm
- Step 1: Loop i = 1 while (long)i * i <= num.
- Step 2: If i * i == num return true.
- Step 3: Return false.
#include <iostream>#include <vector>#include <string>#include <algorithm>using namespace std; class Solution {public: bool isPerfectSquare(int num) { long long i = 1; while (i * i <= num) { if (i * i == num) return true; i++; } return false; }}; int main() { // Sample driver execution cout << "Execution completed successfully." << endl; return 0;} Time & Space Complexity
- Time complexity:
O(sqrt(n))— Loop runs sqrt(num) times. - Space complexity:
O(1)— O(1) auxiliary space.