华为机试-字符串匹配

题目描述

题目标题:

判断短字符串中的所有字符是否在长字符串中全部出现

详细描述:

接口说明

原型:

boolIsAllCharExist(char* pShortString,char* pLongString);

输入参数:

char* pShortString:短字符串

char* pLongString:长字符串

输入描述:

输入两个字符串。第一个为短字符,第二个为长字符。

输出描述:

返回值:

示例1

输入

bc
abc

输出

true

Java程序实现:

  1. import java.util.HashSet;
  2. import java.util.Scanner;
  3. public class Main {
  4. public static void main(String[] args) {
  5. Scanner scanner = new Scanner(System.in);
  6. while (scanner.hasNext()) {
  7. String string1 = scanner.nextLine();
  8. String string2 = scanner.nextLine();
  9. boolean result = allIn(string1, string2);
  10. System.out.println(result);
  11. }
  12. }
  13. private static boolean allIn(String string1, String string2) {
  14. HashSet<Character> set = new HashSet<>();
  15. for (int i = 0; i < string2.length(); i++) {
  16. set.add(string2.charAt(i));
  17. }
  18. for (int i = 0; i < string1.length(); i++) {
  19. if (set.add(string1.charAt(i))) {
  20. return false;
  21. }
  22. }
  23. return true;
  24. }
  25. }
时间: 2024-10-11 15:03:52

华为机试-字符串匹配的相关文章

2015华为机试—— 字符变换

题目描述: 输入一个字符串,将其中大写字母转换为对应小写字母之后的第五个字母,若原始大写字母为V-Z, 则转换为对应小写字母的值减21.其他字符不变,输出转换后的字符串. 例如,对于字母A,则转换为小写字母f:若形参是字母W,则转换为小写字母b. 输入:字符串 输出:转换后的字符串 样例输入:Axs3mWss 样例输出:fxs3mbss 题目不难,直接看代码: public class char_Change { public static void main(String[] args) {

华为机试 — 字符统计

1.字符统计 如果统计的个数相同,则按照ASII码由小到大排序输出 .如果有其他字符,则对这些字符不用进行统计. 实现以下接口:    输入一个字符串,对字符中的各个英文字符,数字,空格进行统计(可反复调用)    按照统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASII码由小到大排序输出    清空目前的统计结果,重新统计调用者会保证:输入的字符串以'\0'结尾. 输入描述:输入一串字符. 输出描述:对字符中的各个英文字符(大小写分开统计),数字,空格进行统计,并按照统计个数由多到

华为机试正式版(西安c/c++/java),今天下午去机试的题目,新鲜出炉了!

以下题目都是回忆的,题目都很简单, 大家有些基础就可以参加!(语言可以是c/c++,也可以是java的) 题目一(60分): 字符串操作, 将小写转换成大写, 将大写转化为小写, 数字的不做转换 例如, 输入:aBcD12 输出:AbCd12 题目二(100分): 将输入的字符串按照规定重新排序,如果字符串长度为奇数, 则中间的字符保持不变, 中间字符左侧降序排列, 右侧字符按照升序排列, 如果字符串长度为偶数,则左半侧字符降序排列,右半侧字符则按照升序排列 例如, 输入:ab5de 输出:ba

2014华为机试西安地区B组试题

2014华为机试西安地区B组试题 题目一.亮着点灯的盏数 一条长廊里依次装有n(1≤n≤65535)盏电灯,从头到尾编号1.2.3.-n-1.n.每盏电灯由一个拉线开关控制.开始,电灯全部关着. 有n个学生从长廊穿过.第一个学生把号码凡是1的倍数的电灯的开关拉一下:接着第二个学生把号码凡是2的倍数的电灯的开关拉一下:接着第三个学生把号码凡是3的倍数的电灯的开关拉一下:如此继续下去,最后第n个学生把号码凡是n的倍数的电灯的开关拉一下.n个学生按此规定走完后,长廊里电灯有几盏亮着. 注:电灯数和学生

华为机试(2)

简单题   题目描述  输入一个字符串,统计其出现频率最高的字符,并输出.若存在两个字符出现频率相同,则输出字典序较小的那一个   输入描述  :一个字符串,保证没有空格,以回车符结束,字符串长度<=20   输出描述  :一个字符   输入样例 :aabbaabb  输出样例  :a  解题思路:做一个频率数组来统计所有字符的出现频率,机试时候不会有汉字输入,因此只考虑输入是ASCII编码的情况. #include<string> #include<iostream> us

华为机试(B)

输入: 字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节. 输出: 删除字符串中出现次数最少的字符后的字符串. 样例输入: abcdd 样例输出: dd #include<iostream> #include<string> #include<iomanip> #include<vector> using namespace std; int main() { string input; getline(cin,input);

2014深圳华为机试剖析

题一: (1)给出一个整数(负数使用其绝对值),输出这个整数中的两种递减数(1.最大递减数:2.递减数中各位数之和最大的数)之和. 递减数:一个数字的递减数是指相邻的数位从大到小排列的数字,不包含相邻的数位大小相同的情况.最大递减数:所输入整数的所有递减数中值最大的一个. 如: 75345323,递减数有:75,753,53,53,532,32.那么最大的递减数为753. 各位数字之和最大的递减数: 如75345323中的各递减数:75各位数之和=12(7+5=12),753各位数之和=15(7

华为机试-公共字串计算

题目描述题目标题:计算两个字符串的最大公共字串的长度,字符不区分大小写详细描述:接口说明原型:int getCommonStrLength(char * pFirstStr, char * pSecondStr);输入参数: char * pFirstStr //第一个字符串 char * pSecondStr//第二个字符串 输入描述:输入两个字符串 输出描述:输出一个整数 输入例子:asdfas werasdfaswer 输出例子:6 效率低的Java程序实现: import java.ut

[华为机试真题]69.姓名的夫妻相

题目 在中国,形容夫妻恩爱的词汇中,大家用的比较多的就是"夫妻相".所谓"夫妻相",就是两个人看上去比较般配,长相.身材等某些方面有一定的相似度. 本题则另辟蹊径,从人的姓名维度,以字母重复个数来寻找最具"夫妻相"的人. 题目中预先给定一组女士的姓名拼音.输入男士的姓名拼音(拼音中间可以有空格,字母全部小写),依预先给定姓名拼音的先后遍历所有姓名,输出字母重复数最多的女士姓名. 规则1:如果字母重复数最多的女士有多位相同,则以最先匹配的女士做为最