package com.heu.wsq;
/**
* 389. 找不同
* @author wsq
* @date 2020/12/18
* 给定两个字符串 s 和 t,它们只包含小写字母。
* 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。
* 请找出在 t 中被添加的字母。
*
* 示例 1:
* 输入:s = "abcd", t = "abcde"
* 输出:"e"
* 解释:'e' 是那个被添加的字母。
*
* 链接:https://leetcode-cn.com/problems/find-the-difference
*/
public class FindTheDifference {
/**
* 使用异或来做位运算(异或表示对应位置不同即为1)
* 字符串s+t中,与s相同的字符必然是双数,双数做"异或"操作必然必会抵消从而变成0
* 而新增的元素为单数,即最后的结果就是新增的元素。
* @param s
* @param t
* @return
*/
public char findTheDifference(String s, String t){
int ans = 0;
for (char c : s.toCharArray()) {
ans ^= c;
}
for (char c : t.toCharArray()) {
ans ^= c;
}
return (char) ans;
}
public static void main(String[] args) {
String s = "abcd";
String t = "abcde";
FindTheDifference ff = new FindTheDifference();
char ans = ff.findTheDifference(s, t);
System.out.println(ans);
}
}
相关推荐
Linux服务器 离线安装oracle
Linux服务器 离线安装oracle
力扣 389. 找不同 C++(异或)
给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 示例 1: 输入:s = "abcd", t = "abcde" 输出:"e" 解释:'e' 是那个被添加的字母。 示例 2: 输入:s = "", t = "y" 输出:"y" 示例 3: 输入:s = "a", t = "aa" 输出:"a" 示例 4: 输入:s = "ae", t = "aea" 输出:"a" 提示: 0 <= s.leng
关于自制的《航空学报》latex模板(非官网模板)
《航空学报》的官网只提供了word模板,并且该期刊投稿只需要pdf版本不需要源文件。为方便latex爱好者撰写论文,提供该模板及说明给广大科研人士~
389. 找不同 ( 位运算 )
LeetCode: 389. 找不同 位运算 哈希表 AC Code class Solution { public char findTheDifference(String s, String t) { char[] cs = s.toCharArray(), ct = t.toCharArray(); if(cs.length == 0) return ct[0]; int ans = cs[0] ^ ct[0]; for(
Redis架构演进:从主从、哨兵到集群,如何支撑亿级流量的秒杀场景?
本文深入探讨了分布式缓存Redis的三种核心高可用模式:主从复制、哨兵模式与集群模式。以高并发的电商秒杀业务为切入点,我们分析了每种模式的优缺点和适用场景,并最终选择Redis集群模式作为最佳解决方案。文章提供了基于Spring Boot和Spring Data Redis的完整实现代码,详细展示了如何配置和使用Redis集群来应对高并发、高可用的挑战,旨在帮助开发者在实际项目中做出正确的技术选型和架构设计。
用友BIP培训资料-设计采购订单新增API接口开发
14.在子实体的String pkMeas = order_hhrSlave0VOJson.getString("pk_meas");Openapi路径:nccloud/api/pu/order_hhrmanage/order_hhrMaster/addAggOrder_hhrMasterVO。实现接口的开发部署,通过openAPI的test类,实现一条数据的插入。16.进入自己的Idea打开老师发的TestOpenApi并且编译完成后如下。12.编写检测是否字段中是否含有中文的方法。
力扣389-找不同(Java详细题解,位运算100%)
力扣389-找不同 一、原题题目 1.1 题目 给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。 1.2 示例 示例一 输入: s = “abcd”, t = “abcde” 输出: “e” 解释: ‘e’ 是那个被添加的字母。 示例二 输入: s = “”, t = “y” 输出: “y” 示例三 输入: s = “a”, t = “aa” 输出: “a” 示例四 输入: s = “ae”,
Python学习(一)
快速入门 1.Linux系统中是可以直接使用Python进行编程,具体如下: 进入Python:在linux的Terminal中输入 Python ,进入Python的命令行; 退出Python:在linux的Terminal中输入quit() 或 exit() 或 ctrl +d ,再回车,退出Python的命令行。 2.python的源程序就是一个特殊格式的文本文件,可以使用任意文本编辑软件做Python的开发。 3.Python程序的文件扩展名通常都是 .py。 4.执行Python程序的方式:在
力扣389题解析:哈希表与位运算找不同字符
字符串处理是算法中的基础操作,其中字符统计与差异检测是常见需求。哈希表通过键值映射实现O(1)时间复杂度的字符计数,是处理字符频率问题的标准方法。位运算中的异或操作因其a^a=0的特性,成为检测单字符差异的高效技巧。这两种方法在数据校验、版本对比等实际工程场景中有广泛应用。以力扣389题为例,哈希表解法直观展示数据结构应用,而位运算方案则体现了算法优化思路。掌握这些基础技术对提升编码面试表现和解决实际问题都很有帮助。
FreeRTOS深入教程(任务创建的深入和任务调度机制分析)
本篇文章将带大家深入学习任务的创建和分析任务调度的机制。本篇文章深入的讲解了任务创建的内部实现和任务调度的源代码分析和实现,学习这篇文章有助于更深入的学习FreeRTOS的源码。
【树莓派安装Homeassistant及基本配置】
时隔一年,我又重新开始玩Homeassistant,发现其中奥妙无穷,惊喜不断。在我浅薄的认知中要学好嵌入式,必须玩过Homeassistant,并且玩出自己的名堂!因为这是最贴切实际的生活应用没有之一,每月更新使得唯有活水来;拥抱大千使得永葆青春的活力;鬼斧神工的操作精彩纷呈,可以堪称软件与硬件的完美落地!
【Leetcode 389 】 找不同 —— 位运算
给定两个字符串s和t,它们只包含小写字母。字符串t由字符串s随机重排,然后在随机位置添加一个字母。请找出在t中被添加的字母。"e"'e' 是那个被添加的字母。"y"
解决com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60027, active 20, maxActive 20错误
全网详细解决com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60027, active 20, maxActive 20, creating 0, createErrorCount 24的错误
389找不同---位运算
题目:给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 示例 1: 输入:s = "abcd", t = "abcde" 输出:"e" 解释:'e' 是那个被添加的字母。 示例 2: 输入:s = "", t = "y" 输出:"y" 示例 3: 输入:s = "a", t = "aa" 输出:"a" 示例 4: 输入:s = "ae", t = "aea" 输出:"a" 提示: 0 <..
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
LeetCode 389. 找不同(位运算)
1. 题目 给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 2. 解题 2.1 土办法,哈希map class Solution { public: char findTheDifference(string s, string t) { unordered_map<...
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
【map、位运算】leetcode-389.找不同
389.找不同 难度:简单 题目描述:给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 示例 1: 输入:s = "abcd", t = "abcde" 输出:"e" 解释:'e' 是那个被添加的字母。 示例 2: 输入:s = "", t = "y" 输出:"y" 示例 3: 输入:s = "a", t = "aa" 输出:"a" 示例 4: 输入:s = "ae", t = "aea" 输出:"a"
【leetcode】389找不同 | 求和 | 位运算
题目 给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 示例 1: 输入:s = “abcd”, t = “abcde” 输出:“e” 解释:‘e’ 是那个被添加的字母。 示例 2: 输入:s = “”, t = “y” 输出:“y” 示例 3: 输入:s = “a”, t = “aa” 输出:“a” 示例 4: 输入:s = “ae”, t = “aea” 输出:“a” 提示: 0 <.
LeetCode每日一题--389. 找不同(计数,位运算)
题目:跳转至 389. 找不同 给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 示例 1: 输入:s = “abcd”, t = “abcde” 输出:“e” 解释:‘e’ 是那个被添加的字母。 示例 2: 输入:s = “”, t = “y” 输出:“y” 示例 3: 输入:s = “a”, t = “aa” 输出:“a” 示例 4: 输入:s = “ae”, t = “aea” 输出:“a” 提示: 0
位运算简单 LeetCode389. 找不同
389. 找不同 描述 给定两个字符串 s 和 t ,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 分析 利用异或抵消相同的字符 class Solution { public char findTheDifference(String s, String t) { char ans = 0; for(int i = 0; i < s.length(); i++){
LeetCode题解:389. 找不同,位运算,JavaScript,详细注释
解题思路: 位运算中的异或运算有以下特点: 0 ^ 0 = 0 1 ^ 1 = 0 0 ^ 1 = 1 a ^ b ^ a = (a ^ a) ^ b = 0 ^ b = b 字符串s和t中,只有一个字母是不同的,而其他相同的字符,都可以通过ASCII码的异或运算相互抵消,剩下的就是被添加字母的ASCII码。 /** * @param {string} s * @param {string} t * @return {character} */ var findTheDifferen
389找不同(哈希表、位运算、数学)
1、题目描述 给定两个字符串 s 和 t,它们只包含小写字母。 字符串t由字符串s随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 提示: 0 <= s.length <= 1000 t.length == s.length + 1 s 和 t 只包含小写字母 2、示例 输入:s = "abcd", t = "abcde" 输出:"e" 解释:'e' 是那个被添加的字母。 3、题解 解法一: 基本思想:哈希表HashMap 解法二: 基本思...
leetCode每日一题:389. 找不同(位运算)
一、题目描述 给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 示例 1: 输入:s = “abcd”, t = “abcde” 输出:“e” 解释:‘e’ 是那个被添加的字母。 示例 2: 输入:s = “”, t = “y” 输出:“y” 示例 3: 输入:s = “a”, t = “aa” 输出:“a” 示例 4: 输入:s = “ae”, t = “aea” 输出:“a” 二、题解 方法一:计数 我
LeetCode389.找不同(Java位运算+求和+计数)
给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 示例 1: 输入:s = “abcd”, t = “abcde” 输出:“e” 解释:‘e’ 是那个被添加的字母。 方法一:位运算 我们知道 若b=0,a^b =a ,a ^a =0,所以如果是多余的字符,则结果不会为0 ...
java 位运算 求和_LeetCode389.找不同(Java位运算+求和+计数)
题目给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例 1:输入:s = “abcd”, t = “abcde”输出:“e”解释:‘e’ 是那个被添加的字母。方法一:位运算我们知道a^0=a; a ^a =0;所以如果是多余的字符,则结果不会为0,因为是在s的基础上进行新增一个字符,所以除开新增的字符,...
力扣-389题 找不同(C++)- 位运算
题目链接:https://leetcode-cn.com/problems/find-the-difference/ 题目如下: class Solution { public: char findTheDifference(string s, string t) { int temp=0; //在异或运算中,所有偶数次出现的数字都可以抵消,只留下奇数次出现的数 for(auto e:s) temp^=e; for(auto e:t
力扣389. 找不同重写----三种方法(哈希,ascii码值,位运算)
389. 找不同 给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 示例 1: 输入:s = "abcd", t = "abcde" 输出:"e" 解释:'e' 是那个被添加的字母。 示例 2: 输入:s = "", t = "y" 输出:"y" 示例 3: 输入:s = "a", t = "aa" 输出:"a" 示例 4: 输入:s = "ae", t = "aea" 输出:"a" 提示: 0 &
4260



被折叠的 条评论
为什么被折叠?



