
【牛客网 - 华为机试】HJ81 字符串字符匹配
发布日期:2021-05-07 21:21:39
浏览次数:26
分类:精选文章
本文共 1702 字,大约阅读时间需要 5 分钟。
题目描述
判断短字符串中的所有字符是否在长字符串中全部出现。
请注意本题有多组样例输入。输入描述:
输入两个字符串。第一个为短字符串,第二个为长字符串。两个字符串均由小写字母组成。输出描述:
如果短字符串的所有字符均在长字符串中出现过,则输出true。否则输出false。示例1
输入bc
abc 输出true
解题思路
我的笨办法
public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNextLine()) { String s1 = sc.nextLine(); String s2 = sc.nextLine(); char[] c1 = s1.toCharArray(); char[] c2 = s2.toCharArray(); HashSetset = new HashSet<>(); for (int i = 0; i < c2.length; i++) { set.add(c2[i]); } System.out.println(Arrays.toString(set.toArray())); int count = 0; for (char c : c1) { if (set.add(c)) { System.out.println(false); break; } count++; } if (count == c1.length) System.out.println(true); } }
优秀的解法
可以直接将短的字符串中的字符进行遍历,然后利用String的valueOf()方法判定是否存在在长字符中,则不需要浪费那么多的额外空间
并且不需要两个字符都遍历,而只需要遍历长字符串即可
public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = ""; String str2 = ""; while( (str = br.readLine()) != null && !"".equals(str)){ str2 = br.readLine(); char[] arr = str.toCharArray(); boolean judge = true; for (char c : arr) { if (!str2.contains(String.valueOf(c))){ judge = false; break; } } System.out.println(judge); } br.close(); }
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年03月22日 13时38分22秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
ubuntu学习笔记-常用文件、命令以及作用(hosts、vim、ssh)
2021-05-08
SLAM学习笔记-求解视觉SLAM问题
2021-05-08
还在一个一个手动安装虚拟机吗?Cobbler自动部署装机一键最小化安装打把游戏就好了
2021-05-08
程序员应该知道的97件事
2021-05-08
create-react-app路由的实现原理
2021-05-08
Linux环境变量配置错误导致命令不能使用(杂谈)
2021-05-08
openstack安装(九)网络服务的安装--控制节点
2021-05-08
shell编程(六)语言编码规范之(变量)
2021-05-08
vimscript学习笔记(二)预备知识
2021-05-08
Android数据库
2021-05-08
HTML基础,块级元素/行内元素/行内块元素辨析【2分钟掌握】
2021-05-08
STM8 GPIO模式
2021-05-08
23种设计模式一:单例模式
2021-05-08
Qt中的析构函数
2021-05-08
C语言实现dijkstra(adjacence matrix)
2021-05-08
三层框架+sql server数据库 实战教学-徐新帅-专题视频课程
2021-05-08
【单片机开发】智能小车工程(经验总结)
2021-05-08
【单片机开发】基于stm32的掌上游戏机设计 (项目规划)
2021-05-08
C++&&STL
2021-05-08