
算法训练 Anagrams问题
发布日期:2021-05-07 21:59:51
浏览次数:10
分类:技术文章
本文共 1296 字,大约阅读时间需要 4 分钟。
1. 问题描述:
Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
输入格式:输入有两行,分别为两个单词。 输出格式:输出只有一个字母Y或N,分别表示Yes和No。 输入输出样例:样例输入
Unclear
Nuclear
样例输出
Y
2. 其中使用到了charAt(int index)方法是一个能够用来检索特定索引下的字符的String实例的方法.
charAt()方法返回指定索引位置的char值。索引范围为0~length()-1.
如: str.charAt(0)检索str中的第一个字符,str.charAt(str.length()-1)检索最后一个字符.
import java.util.Scanner;public class Main { public static void main(String[] args) { int k[] = new int[26]; int k2[] = new int[26]; int t = 0; Scanner sc = new Scanner(System.in); String str1 = sc.nextLine(); String str2 = sc.nextLine(); str1 = str1.toLowerCase(); str2 = str2.toLowerCase(); if(str1.length() == str2.length()){ for(int i = 0; i < str1.length(); i++){ k[str1.charAt(i) - 'a']++; k2[str2.charAt(i) - 'a']++; } for(t=0;t<26;t++){ if(k[t]!=k2[t]){ System.out.println("N"); break; } } if(t==26) System.out.println("Y"); } else { System.out.println("N"); } sc.close(); }}
发表评论
最新留言
很好
[***.229.124.182]2025年03月28日 18时07分35秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
如何解决vscode检测到#include错误,请更新includePath。
2019-03-05
1007 Maximum Subsequence Sum (25分) Python解法
2019-03-05
Java纯文本文件显示工具制作
2019-03-05
1035 Password (20分)
2019-03-05
Unity2D Fixed Joint 2D详解
2019-03-05
Unity Shader之路(五)创建第一个顶点/片元着色器?
2019-03-05
L3-008 喊山 (30分) C++ BFS题解
2019-03-05
Web框架——Flask系列之Flask-SQLAlchemy数据库的基本操作(九)
2019-03-05
LeetCode 每日一题 766. 托普利茨矩阵
2019-03-05
LeetCode 每日一题 131. 分割回文串 dfs
2019-03-05
六、Numpy的使用(详解)
2019-03-05
python爬虫——代理IP
2019-03-05
二、bootstrap4基础(flex布局)
2019-03-05
三、案例:留言板 & url.parse()
2019-03-05
docker容器迁移
2019-03-05
Python3中的map()函数!!!
2019-03-05
Python中的filter()函数!!!1
2019-03-05
LeetCode:1640. 能否连接形成数组!!!
2019-03-05
(新手小白必学!)用Python设计和实现聪明的尼姆游戏(人机对战)!!!!
2019-03-05
LeetCode:283. 移动零!!!1
2019-03-05