Solved...........🔥🔥🔥🔥
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity: 100%\u2705\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity: 100%\u2705\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```c []\n#define maxN 100005\n\nint max(int a, int b) { return a > b ? a : b; }\n\nint cmp(const void *a, const void *b) { return *(int *)a - *(int *)b; }\n\nint biSearch(int *arr, int n, int target) {\n    int left = 0;\n    int right = n - 1;\n    while (left <= right) {\n        int mid = left + (right - left) / 2;\n        if (arr[mid] == target) {\n            return mid;\n        } else if (arr[mid] < target) {\n            left = mid + 1;\n        } else {\n            right = mid - 1;\n        }\n    }\n    return -1;\n}\n\nint longestSquareStreak(int *nums, int numsSize) {\n    int seen[maxN] = {0};\n    int *set = (int *)malloc(maxN * sizeof(int));\n    int setidx = 0;\n    for (int i = 0; i < numsSize; i++) {\n        if (!seen[nums[i]]) {\n            seen[nums[i]] = 1;\n            set[setidx++] = nums[i];\n        } else {\n            continue;\n        }\n    }\n    qsort(set, setidx, sizeof(int), cmp);\n    int ans = -1;\n    for (int i = 0; i < setidx; i++) {\n        int curr = set[i];\n        if (curr >= 400) {\n            continue;\n        }\n        int big = curr * curr;\n        int currRes = -1;\n        while (biSearch(set, setidx, big) != -1) {\n            if (currRes == -1) {\n                currRes = 2;\n            } else {\n                currRes++;\n            }\n            curr = big;\n            if (curr >= 400) {\n                break;\n            }\n            big = curr * curr;\n            // printf("curr = %d, big = %d\\n", curr, big);\n        }\n        ans = max(ans, currRes);\n    }\n    return ans;\n}\n```
['Array', 'Hash Table', 'Binary Search', 'Dynamic Programming', 'C', 'Sorting']