📖 题目大意
把字符串中的字母全部替换成i,最小次数
💡 解题思路
- 核心算法 / 数据结构:计数 + 去重(用字符串 used 记录已出现的非 'i' 字母)
- 步骤一:遍历字符串 s 的每个字符 c。如果 c 是 'i',直接跳过(目标字母无需操作)。
- 步骤二:如果 c 不是 'i',检查 used 中是否已有 c。若没有,则将 c 加入 used 并将答案 ans 加 1(代表这种新字母需要一次操作)。若已有,则跳过。
- 复杂度分析:时间 O(26×n) ≈ O(n),空间 O(1)(used 最长 26 个字符)
⚙️ AC 代码
📚 今日总结
- 复习string用法
std::string s = "Hello";
std::cout << s.length();
std::cout << s[1];
std::cout << s.substr(1,3);
s.append(" world");
std::cout << s;