Submission
# | When | Author | Problem | Language | CPU | Memory | |
---|---|---|---|---|---|---|---|
19964 | 2024-05-16 21:27:02 | AHAMMED_99 | Min Substring | C | 1 ms | 1600 kb | Wrong Answer - 1 |
Test Cases
# | CPU | Memory | Points | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 ms | 1600 kb | 0 | Wrong Answer | |||||||
2 | 0 ms | 0 kb | 0 | Skipped | |||||||
3 | 0 ms | 0 kb | 0 | Skipped | |||||||
4 | 0 ms | 0 kb | 0 | Skipped | |||||||
5 | 0 ms | 0 kb | 0 | Skipped | |||||||
6 | 0 ms | 0 kb | 0 | Skipped | |||||||
7 | 0 ms | 0 kb | 0 | Skipped | |||||||
8 | 0 ms | 0 kb | 0 | Skipped | |||||||
9 | 0 ms | 0 kb | 0 | Skipped | |||||||
10 | 0 ms | 0 kb | 0 | Skipped | |||||||
11 | 0 ms | 0 kb | 0 | Skipped | |||||||
12 | 0 ms | 0 kb | 0 | Skipped | |||||||
13 | 0 ms | 0 kb | 0 | Skipped | |||||||
14 | 0 ms | 0 kb | 0 | Skipped | |||||||
15 | 0 ms | 0 kb | 0 | Skipped | |||||||
16 | 0 ms | 0 kb | 0 | Skipped | |||||||
17 | 0 ms | 0 kb | 0 | Skipped | |||||||
18 | 0 ms | 0 kb | 0 | Skipped |
Source Code
#include <stdio.h> #include <string.h> #include <limits.h> #define MAX_CHARS 26 // Assuming lowercase English letters only int min_substring_length(char *s) { int freq[MAX_CHARS] = {0}; // Array to store frequency of characters int unique_count = 0; int min_length = INT_MAX; int left = 0; // Count the number of unique characters for (int i = 0; i < n; i++) { if (freq[s[i] - 'a'] == 0) unique_count++; freq[s[i] - 'a']++; } // Sliding window approach for (int right = 0; right < n; right++) { freq[s[right] - 'a']--; while (unique_count == 0) { min_length = (right - left + 1) < min_length ? (right - left + 1) : min_length; freq[s[left] - 'a']++; if (freq[s[left] - 'a'] == 1) unique_count++; left++; } } return min_length; } int main() { char s[100001]; return 0; }