389 find the difference

  问题:Given two strings s and t which consist of only lowercase letters.

String t is generated by random shuffling string s and then add one more letter at a random position.

Find the letter that was added in t.

Example:

Input:
s = “abcd”
t = “abcde”

Output:
e

Explanation:
‘e’ is the letter that was added.
 思路:使用hashmap,计算s中每个字符出现的次数。再遍历字符串t,每遇到一个字符,将map中的值减1。如果字符不出现在map,或者计数为0,就是后来加入的字符。
 

public char findTheDifference(String s, String t) {Map<Character,Integer> map = new HashMap<Character,Integer>();for (int i = 0; i < s.length(); i++) {if(map.get(s.charAt(i))==null){map.put(s.charAt(i), 1);}else{map.put(s.charAt(i), map.get(s.charAt(i))+1);}}for (int i = 0; i < t.length(); i++) {if (!map.keySet().contains(t.charAt(i)) || map.get(t.charAt(i))<=0) {return t.charAt(i);}else{map.put(t.charAt(i), map.get(t.charAt(i))-1);}}return t.charAt(0);}

收获:1 用异或。a^b^a=b,a^b^b=a,a^b^a^b=0。交换两个int,不用第三个空间的做法是:a=a^b,b=a^b,a=a^b。

参考资料
1 题目
2 讨论

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/425019.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL数据库面试题

目录数据库基础知识为什么要使用数据库什么是SQL&#xff1f;什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式&#xff1f;分别有什么区别&#xff1f;数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引…

log双线性模型log-bilinear model简单概括

LBLM(log-bilinear model)是自然语言处理中的比较简单的模型。LBLM根据上下文的词向量来预测下一个词向量wnw_nwn​&#xff0c;通过对上下文词向量的一个线性组合来表示&#xff1a; rwr_wrw​是一个实数值词向量对于词www对于下一个词的分布计算根据wnw_nwn​预测表示和所有…

9制定项目章程

项目干系人概述 项目主要干系人 项目章程 项目章程的功能 项目章程

2019湖南多校第三场

解题过程 开场lfw过A&#xff0c;然后byf突然想到E的构造方法&#xff0c;WA了一发开始查错&#xff0c;shl中途看G&#xff0c;说"这不是bzoj原题吗&#xff1f;"拿到一血带歪榜&#xff0c;然后byf该出E拿到一血又带歪榜。。。shl写出B&#xff0c;之后lfw C想复杂…

【数据结构与算法】栈与队列

栈 一、什么是栈&#xff1f; 1.后进者先出&#xff0c;先进者后出&#xff0c;这就是典型的“栈”结构。 2.从栈的操作特性来看&#xff0c;是一种“操作受限”的线性表&#xff0c;只允许在端插入和删除数据。 二、为什么需要栈&#xff1f; 1.栈是一种操作受限的数据结构…

随机变量的独立性

随机变量的独立性  从之前的随机事件的独立性推导出随机变量的独立性。  定义&#xff1a;设F(x,y)是二元随机变量(X,Y)的分布函数FX(x)是X的边际分布函数&#xff0c;FY(y)是Y的边际分布函数。如果对所有的x,y都有&#xff0c;P(X≤x,Y≤y)P(X≤x)P(Y≤y)&#xff0c;也就…

线性代数的本质笔记-更新ing

1. 序言 线性代数不光要会计算&#xff0c;还要理解掌握其几何直观。 2. 向量究竟是什么&#xff1f; 物理学&#xff1a;向量是空间中的箭头&#xff0c;具有长度和方向两个属性。计算机&#xff1a;向量是一个有序数表。比如房屋的参数信息可以根据相关属性按准许列成一个…

10项目开工会

立项启动准备 启动会的任务 如何进行项目启动

科学与可视化

一.numpy库和matplotlib库的学习 &#xff08;1&#xff09;numpy库介绍&#xff1a;科学计算包&#xff0c;支持N维数组运算、处理大型矩阵、成熟的广播函数库、矢量运算、线性代数、傅里叶变换、随机数生成&#xff0c;并可与C/Fortran语言无缝结合 np.array([1,2,3])列表转换…

268 missing number

问题&#xff1a;给定一个包含n个不同数字的数组&#xff0c;从0开始&#xff0c;例如0,1,2,…n。找到数组中缺了那个数字。例如输入nums[0,1,3]&#xff0c;输出2。 思路&#xff1a;高斯 从0到n的和为sum(1n)*n/2。只要计算数组的和与sum的差是多少就可以了。 public int mi…

[Leetcode][第337题][JAVA][打家劫舍3][递归][动态规划]

【问题描述】[中等] 【解答思路】 1. 动态规划 第 1 步&#xff1a;状态定义 dp[node][j] &#xff1a;这里 node 表示一个结点&#xff0c;以 node 为根结点的树&#xff0c;并且规定了 node 是否偷取能够获得的最大价值。 j 0 表示 node 结点不偷取&#xff1b; j 1 表示…

什么是压缩感知?[简单概括]

什么是压缩感知&#xff1f; 压缩感知(compressive sensing)有两部分组成 感知(sensing):所谓感知就是站在计算机角度上&#xff0c;我们作为计算机感知一种信号&#xff08;图片&#xff09;&#xff0c;也就是计算机去理解这种信号的一种拟人化的描述&#xff0c;比如10010…

依赖注入模式中,为什么用对象而不是用数组传递?

依赖注入&#xff08;Dependence Injection, DI&#xff09; 依赖注入是控制反转的一种设计模式。依赖注入的核心是把类所依赖的单元的实例化过程&#xff0c;放到类的外面去实现。依赖注入的实现离不开反射。 依赖注入&#xff08;Dependence Injection, DI&#xff09; 所谓的…

【数据结构与算法】递归

一、什么是递归&#xff1f; 1.递归是一种非常高效、简洁的编码技巧&#xff0c;一种应用非常广泛的算法&#xff0c;比如DFS深度优先搜索、前中后序二叉树遍历等都是使用递归。 2.方法或函数调用自身的方式称为递归调用&#xff0c;调用称为递&#xff0c;返回称为归。 二、…

二元随机变量函数的分布

在前面的文章记录了二元随机变量的定义、离散型二元随机变量的联合分布律/联合概率密度函数、边际分布律/边际概率密度函数、条件分布律/条件概率密度 &#xff0c;以及对应的 联合分布函数、边际分布函数、条件分布函数。这篇文档介绍二元随机变量函数的分布。 二元随机变量函…

力扣 1553. 吃掉 N 个橘子的最少天数 记忆化DFS|记忆化BFS|剪枝

吃掉 N 个橘子的最少天数 厨房里总共有 n 个橘子&#xff0c;你决定每一天选择如下方式之一吃这些橘子&#xff1a; 吃掉一个橘子。 如果剩余橘子数 n 能被 2 整除&#xff0c;那么你可以吃掉 n/2 个橘子。 如果剩余橘子数 n 能被 3 整除&#xff0c;那么你可以吃掉 2*(n/3) 个…

spring容器bean的作用域 spring容器是否是单例的一些问题

Spring容器中Bean的作用域 当通过Spring容器创建一个Bean实例时&#xff0c;不仅可以完成Bean实例的实例化&#xff0c;还可以为Bean指定特定的作用域。Spring支持如下5种作用域&#xff1a; singleton&#xff1a;单例模式&#xff0c;在整个Spring IoC容器中&#xff0c;使用…

第四十期:2019年度十大Web开发趋势

本文和您一起讨论那些本年度改变软件开发行业、特别是Web开发方面的十大趋势。 如今&#xff0c;随着各种新趋势的层出不穷&#xff0c;Web和移动领域的创新不仅改变了人们、乃至整个社会的日常行为习惯、以及业务处理方式&#xff0c;而且也使得开发人员能够轻松、且高效地创建…