通过率 78% · 提交 9 · 通过 7
给定两个仅由小写字母组成的字符串 resA 和 resB。你可以执行恰好一次操作:选择下标 i 和 j,交换 resA[i] 与 resB[j]。问是否存在一种交换,使交换后两个字符串中不同字符的数量相等。 如果存在该交换,则返回交换后 resA 和 resB 中不同字符的数量;如果有多种交换方式则采用让两个字符串中不同的字符的数量最少的方式。如果不存在任何交换方式则返回 -1。
提示: 1 <= resA.length, resB.length <= 10^5 resA 和 resB 仅由小写英文字母组成
这类题属于算法机考高频题型中「200分 / 华为OD」方向的高频题型,通常考察对「200分 / 华为OD」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
两个字符串 resA 和 resB
一个整数,交换后 resA 和 resB 中不同字符的数量;如果有多种交换方式则采用让两个字符串中不同的字符的数量最少的方式。如果不存在任何交换方式则返回 -1
示例 1
输入示例
ac b
输出示例
-1
交换任何一组下标都会导致第一个字符串中有 2 个不同的字符,而在第二个字符串中只有 1 个不同字符。故无法完成返回 -1。
示例 2
输入示例
abcc aab
输出示例
2
交换第一个字符串的下标 1 和第二个字符串的下标 0。之后得到 word1 = "aacc" 和 word2 = "abb",各有 2 个不同字符。
示例 3
输入示例
时间限制 1000 ms · 内存限制 256 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
abcde fghij
输出示例
5
无论交换哪一组下标,两个字符串中都会有 5 个不同字符。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有