Rust Solution
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:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nuse std::collections::HashSet;\n\nimpl Solution {\n    pub fn count_time(time: String) -> i32 {\n        let time = time.chars().collect::<Vec<char>>();\n        let mut data = time.clone();\n        let mut s = HashSet::<String>::new();\n\n        for c1 in \'0\'..=\'9\' {\n            if time[0] == \'?\' { data[0] = c1; } \n            for c2 in \'0\'..=\'9\' {\n                if time[1] == \'?\' { data[1] = c2; }\n                for c3 in \'0\'..=\'9\' {\n                    if time[3] == \'?\' { data[3] = c3; }\n                    for c4 in \'0\'..=\'9\' {\n                        if time[4] == \'?\' { data[4] = c4; }\n                        let a = (data[0] as u8 - \'0\' as u8) * 10 + data[1] as u8 - \'0\' as u8;\n                        let b = (data[3] as u8 - \'0\' as u8) * 10 + data[4] as u8 - \'0\' as u8;\n                        if a <= 23 && b <= 59 { s.insert(data.iter().collect()); }\n                    }\n                }\n            }\n        }\n\n        s.len() as _\n    }\n}\n```
['Rust']