每日一练(47):找不同

简介: 给定两个字符串 s 和 t ,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母

给定两个字符串 s 和 t ,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。


示例 1:


输入:s = "abcd", t = "abcde"

输出:"e"


解释:'e' 是那个被添加的字母。


示例 2:


输入:s = "", t = "y"

输出:"y"


提示:


0 <= s.length <= 1000

t.length == s.length + 1


s 和 t 只包含小写字母


来源:力扣(LeetCode)


链接:https://leetcode-cn.com/probl...


方法一:求和


思路分析


本题是只添加一个字符,求 s 字符串的ASCII值和 t 的ASCII值 再 t - s 的ASCII值得到的就是添加的字符的ASCII值


char findTheDifference(string s, string t) {
    int as = 0, at = 0;
    for (auto ch : s) {
        as += ch;
    }
    for (auto ch : t) {
        at += ch;
    }
    return at - as;
}


方法二:位运算


思路分析


如果将两个字符串拼接成一个字符串,则问题转换成求字符串中出现奇数次的字符

异或运算的特性:


  • 异或自己得0,任何数异或0得自己本身;
  • 具有交换律、结合律,例如 1^2^3^4^2^3^1 = (1^1)^(2^2)^(3^3)^4 = 0^0^0^4 = 0^4 = 4;
  • 总结:异或运算擅长找不同。


char findTheDifference(string s, string t) {
    int ret = 0;
    for (auto ch : s) {
        ret ^= ch;
    }
    for (auto ch : t) {
        ret ^= ch;
    }
    return ret;
}


目录
相关文章
|
存储 安全 API
设备树覆盖:实现 DTO
设备树覆盖:实现 DTO
398 0
|
8月前
|
人工智能 算法 机器人
大学生智能体开发实训:衔接教育与产业的国家人才培养实践
王宇曾因缺乏实战经验求职受挫,参与“智能体来了”实训后,完成校园智能机器人项目,掌握从需求分析到部署的全流程开发技能,团队成果获企业认可。该项目对接国家AI教育政策,融合产教资源,帮助学生跨越理论与实践鸿沟,实现高效就业。
|
4月前
|
存储 弹性计算 固态存储
阿里云服务器按量付费是什么?到底划不划算?
阿里云ECS按量付费是“先用后付、按小时计费”的灵活模式,适合临时扩展、测试、电商抢购等短期或突发场景。开通需账户余额≥100元,不支持备案。相比包年包月更省成本(如仅用几小时),且可随时释放,弹性伸缩便捷。
606 3
|
6月前
|
弹性计算 关系型数据库 数据库
阿里云卡券解析:优惠券、代金券、提货券、储值卡领取和使用指南及常见问题
为了助力更多新用户和老用户优惠上云,阿里云推出了多种优惠券、代金券、提货券和储值卡等多种卡券福利。这些券种不仅为用户提供了实实在在的优惠,还增加了购买阿里云产品的灵活性和便利性。本文将详细解析阿里云优惠券、代金券、提货券和储值卡的定义、用途、领取方式、使用规则及常见问题解答,以供大家了解他们之间的区别。
|
7月前
|
存储 弹性计算 运维
阿里云高效使用指南:10个实用技巧让你省时省力又省钱
在阿里云部署业务常面临成本高、配置复杂、运维低效等问题。本文总结10个实战技巧,涵盖成本控制、性能优化、安全防护与自动化运维四大方向,助力企业高效用云,降本增效,提升系统稳定性与安全性。
|
数据可视化 关系型数据库 MySQL
【MCP教程系列】上阿里云百炼,5分钟解锁数据分析与可视化能力
本文介绍如何在阿里云百炼平台通过自定义MCP部署MySQL服务,实现5分钟解锁数据分析与可视化能力。以碳排放数据库为例,详细讲解从创建公网访问的MySQL数据库、配置MCP服务到引入智能体进行数据分析的全流程。借助QuickChart等工具,可将复杂数据转化为直观图表,赋能业务决策。适合希望快速上手数据库分析的用户参考使用。
2559 0
|
负载均衡 监控 安全
硬件负载均衡和软件负载均衡的性能如何对比?
硬件负载均衡和软件负载均衡的性能如何对比?
624 120
|
API 开发者
在线CAD实现图纸比较功能
MXCAD提供了一项实用的图纸比对功能,帮助设计师高效识别不同版本CAD图纸间的改动。用户只需几个简单步骤即可启动比对过程:打开MXCAD在线示例,上传目标图纸,选择“图纸比对”并加载待比对文件。系统会清晰标出所有差异,甚至支持实体定位以便更直观地查看变化细节。此外,MXCAD还开放了相关API,允许开发者根据具体需求进行定制化二次开发,如利用`McObject.loadDwgBackground()`方法加载背景图纸并通过`MxCompare`类获取差异数据等。关注“梦想云图网页CAD”公众号了解更多资讯。
947 129
在线CAD实现图纸比较功能
|
机器学习/深度学习 运维 自然语言处理
智绘运维:深度学习赋能知识图谱建设
智绘运维:深度学习赋能知识图谱建设
518 20
|
机器学习/深度学习 自然语言处理 开发者
Python中实现简单文本分类器
【8月更文挑战第31天】本文将通过一个简明的教程,展示如何在Python环境下利用scikit-learn库构建一个简单的文本分类器。我们将从数据准备开始,逐步介绍文本预处理、特征提取、模型训练及评估过程,并附上代码示例。无论你是机器学习新手还是希望巩固知识的开发者,这篇文章都将提供有价值的实践指导。