160.Find the Difference

原创 2016年08月29日 09:53:35

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.

Subscribe to see which companies asked this question

/*因为都是小写字母,所以可以定义一个只包含26个字母的数组,Count[i]表示'a'+i字符在字符串t中出现的次数。
    * Step1:遍历字符串s,统计各个字符出现的次数;
    * Step2:遍历字符串t,减去各个字符出现的次数;
    * Step3:统计数组,值为1的那个下标对应的字符即为最后的结果。
    * 注意:题目中说了只有t只比s一个字符而且s和t中都是小写字母。
    * 改进:前两步可以合并。
    */
    public char findTheDifference(String s, String t) {
        int count[] = new int[26];
        int sLen = s.length();
        int tLen = sLen+1;//题目中说了t比s多一个字符
        for(int i=0;i<sLen;i++ ){
            count[s.charAt(i)-'a']++;
            count[t.charAt(i)-'a']--;
        }
        count[t.charAt(sLen)-'a']--;
        
         for(int i=0;i<26;i++ ){
             if(count[i] == -1){
                 return (char)(i+'a');
             }
         }
         
         return 'a';//因为在第二个for循环中可以确定要返回的最后结果,所以这个地方永远走不到。
    }


版权声明:本文为博主原创文章,未经博主允许不得转载。

OLTP与OLAP的区别分析

在看数据库相关的论文时,经常会看到这两个词:联机事务处理OLTP(Online Transaction Processing)和联机分析处理OLAP(Online Analysis Processin...
  • Meditator_hkx
  • Meditator_hkx
  • 2016年10月28日 21:14
  • 668

【python】集合操作set函数去重与集合、数组、元组中交集(intersection)、并集(union)、差集(difference)、对称差集(sysmmetric difference)

python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素。 集合对象还支持union(联合), intersection(交), difference(差)和...
  • brucewong0516
  • brucewong0516
  • 2018年01月08日 09:50
  • 56

Tarena - 分组查询

Oracle作业3:分组查询 1>.查询各职位的员工工资的最大值,最小值,平均值以及总和 SELECT job,MAX(sal),MIN(sal),AVG(sal),SUM(sal) FROM emp...
  • u010823625
  • u010823625
  • 2015年10月21日 22:59
  • 846

C++集合操作之集合对称差集:std::set_symmetric_difference

C++集合操作之集合对称并集:std::set_symmetric_difference    算法std::set_symmetric_difference可以用来求两个集合的对称差集,此处...
  • u014023993
  • u014023993
  • 2015年08月13日 16:31
  • 1555

HDU 5936 Difference 【中途相遇法】(2016年中国大学生程序设计竞赛(杭州))

Difference Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...
  • u010568270
  • u010568270
  • 2016年10月29日 23:53
  • 856

2017 杭电多校联赛第二场 1003 Maximum Sequence(单调队列)HDU 6047

Maximum Sequence Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)...
  • yiya_eryi
  • yiya_eryi
  • 2017年07月27日 17:24
  • 334

Kendall tau距离:求两个排列之间的逆序数

Kendall tau距离的定义 以下定义取自wiki百科Kendall tau distance: The Kendall tau rank distance is a metric...
  • u011089523
  • u011089523
  • 2016年11月06日 21:19
  • 476

基于人类视觉系统的评价方法--Just Noticeable Difference,JND

人类观看图像依赖于人眼对于图像信息的捕获以及大脑对于图像信息的分析整合,对图像质量的判断受到多种因素的影响,将这些因素分别提取再进行综合就能用于图像质量评价[48, 49]。人眼视觉系统(Human ...
  • gflytu
  • gflytu
  • 2014年09月04日 10:23
  • 3309

贪心和动规的difference

很多同学在做动规题的时候,很容易做成贪心,的确,动规和贪心是很相近的,在很多时候,动规和贪心没有明显的界限,反而在很多时候,我们需要使用贪心的思想,对动规进行优化,不过这也就导致了很多同学分不清什么题...
  • tcherry
  • tcherry
  • 2014年07月27日 22:14
  • 623

Google开源C++单元测试框架gTest 2:gTest断言

一、前言 这篇文章主要总结gtest中的所有断言相关的宏。 gtest中,断言的宏可以理解为分为两类,一类是ASSERT系列,一类是EXPECT系列。一个直观的解释就是: 1. ASS...
  • xi_gua_gua
  • xi_gua_gua
  • 2017年02月25日 22:30
  • 173
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:160.Find the Difference
举报原因:
原因补充:

(最多只允许输入30个字)