哪儿的一道笔试题。

给定两个字符串a,b;找出两个字符串中不一样的字符串。如存在于a而不存在于b,则将该字符输出,同时、加一个“-”标记;若存在于b而不存在于a,则输出该字符,同时以“+”标记。若是同时存在于a、b中,则不输出。假设字符串是由字母组成。

如:

a="abc",b="aabcbc",则输出为"+a,+b,+c";

a="abcde",b="bcdef",则输出为“-a,+f”;

思路:

我们可以使用上一篇讲到的寻找两个字符串的公共子串的方法。即先找到两个字符串的最长公共子串,做相应的处理,然后找次长的公共子串,做相同的处理;直到两个字符串没有公共子串。

package com.liuhao.acm.exam;public class StringDiff {public String diff(String a, String b){String result = "";LongestComSub lcs = new LongestComSub();while(true){//获取两个字符串的最长公共子串String maxSub = lcs.getLongestComSub(a, b);//若没有公共子串,则跳出whileif(maxSub.length() == 0){break;}//将公共子串全部替换掉a = a.replaceAll(maxSub, "0");b = b.replaceAll(maxSub, "1");}//将a中剩下的输出for(int i=0; i<a.length();i++){if(a.charAt(i) != '0'){result += ("-" + a.charAt(i) + ",");}}for(int i=0; i<b.length();i++){if(b.charAt(i) != '1'){result += ("+" + b.charAt(i) + ",");}}result = result.substring(0, result.length()-1);return result;}public static void main(String[] args) {String a = "abcbc";String b = "aabcaa";System.out.println(new StringDiff().diff(a, b));}}

2015去哪儿网校园招聘笔试题:寻找字符串的差异相关推荐

  1. 去哪儿网校园招聘笔试题(成都)--之一

    描述: 已知字母序列[d, g, e, c, f, b, o, a],请实现一个函数针对输入的一组字符串 input[] = {"bed", "dog", &q ...

  2. 2014年去哪儿网校园招聘笔试题

    已知字母序列[d, g, e, c, f, b, o, a],请实现一个函数针对输入的一组字符串 input[] = {"bed", "dog", " ...

  3. 去哪儿2017校园招聘笔试题——统计字符串中最先出现三次的字符

    1. 题目 统计字符 给定一个英文字符串,请写一段代码找出这个字符串中首先出现三次的那个英文字符. 输入 qywyery23tdd 输出 y 2. 分析 和所有统计英文字符一样,依次利用Hash算法将 ...

  4. 去哪儿2017校园招聘笔试题

    import java.util.Scanner;/*** filename extension* 时间限制:C/C++语言 1000MS:其他语言 3000MS* 内存限制:C/C++语言 6553 ...

  5. 去哪儿2017校园招聘笔试题——获得文件扩展名filename extension

    1. 题目 Please create a function to extract the filename extension from the given path,return the extr ...

  6. 百度2015校园招聘笔试题

    百度2015校园招聘笔试题(自己凭记忆第一时间,记录了这么多,有些描述比较简单,请大神们补充) 一 .简答题(30分) 1. 进程和线程的联系与区别. 2. 简述数据库的存储过程及其优点. 3. st ...

  7. 同花顺2015校园招聘笔试题

    1280社区:http://www.dy1280.com/thread-498-1-1.html 同花顺2015校园招聘笔试题 日期:2014-9-15 地点:哈尔滨工程大学

  8. 2012九月十月腾讯,网易游戏,百度最新校园招聘笔试题

    十月下旬腾讯,网易游戏,百度最新校园招聘笔试题集锦(第271-330题) 引言 此文十月百度,阿里巴巴,迅雷搜狗最新面试十一题已经整理了最新的面试题70道,本文依次整理腾讯,网易游戏,百度等各大公司最 ...

  9. 十月下旬腾讯,网易游戏,百度盛大迅雷校园招聘笔试题集锦(10.25)

    十月下旬腾讯,网易游戏,百度最新校园招聘笔试题集锦 引言 笔试啊,笔试,面试啊,面试,找工作啊,找工作.此文十月百度,阿里巴巴,迅雷搜狗最新面试十一题已经整理了最新的面试题70道,本文依次整理腾讯,网 ...

最新文章

  1. Sun 认证考试是否合适于你?
  2. 转:不是技术牛人,如何拿到国内IT巨头的Offer
  3. 手摸手,带你用 vue 动画实现原生 app 切换效果,丝滑般的体验
  4. 『森林火灾检测』基于PaddleX实现森林火灾检测
  5. linux挂载分区至目录
  6. 《C++ Primer》10.1节练习
  7. java 堆排序算法_堆排序算法的讲解及Java版实现
  8. overflow鼠标拖拽显示_[翻译] 从零开始的 .Net Shell 扩展教程 (四) - Shell 拖拽处理程序
  9. vuex的store机制1
  10. 720nopenwrt设置打印服务器_TP-Link_TL-WR703N网络打印服务器
  11. LaTeX技巧014:实现圆圈形状的脚注
  12. 在EXCEL中通过VBA实现批量读取文件夹内的文件名称
  13. 官网下载git缓慢问题
  14. 全球及中国连续性肾脏替代治疗机行业发展趋势及前景规划分析报告2022-2027
  15. java连接电信iot平台,物联网基础:BC28连接电信IOT平台进行数据传输
  16. 事务(Transaction)的特性
  17. html文本框后面紧挨着按钮,HTMLbody标签中的相关标签2
  18. E+H超声波物位计FMU42
  19. attrib批量显示文件夹_怎样批量修改文件夹或文件的系统隐藏属性
  20. 某大学开田径运动会,现有12名选手参加100米比赛,对应的运动员号及成绩如表所示,请按照成绩排名并输出,要求每一行输出名次、运动员号及成绩

热门文章

  1. 分割网络-ExtremeC3Net(轻量级)
  2. ueditor编辑器遇到的问题
  3. 【Centos 7】---vim环境配色(colorscheme)配置
  4. python入门指南 许半仙txt百度云-《漩涡》TXT全本 百度云网盘下载 by就不告诉你...
  5. Java基础语法——选择排序、冒泡排序以及二分查找法和Arrays类的使用
  6. Android SDK proxy代理加速
  7. Linux ALSA 之六:ALSA ASoc 架构
  8. STL(标准模板库)—Vector
  9. SV--随机化笔记总结
  10. Python 二分查找:bisect库的使用