蓝桥杯-Anagrams问题(java)
生活随笔
收集整理的這篇文章主要介紹了
蓝桥杯-Anagrams问题(java)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
算法訓練 Anagrams問題 時間限制:1.0s 內存限制:512.0MB問題描述Anagrams指的是具有如下特性的兩個單詞:在這兩個單詞當中,每一個英文字母(不區分大小寫)所出現的次數都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。編寫一個程序,輸入兩個單詞,然后判斷一下,這兩個單詞是否是Anagrams。每一個單詞的長度不會超過80個字符,而且是大小寫無關的。輸入格式:輸入有兩行,分別為兩個單詞。輸出格式:輸出只有一個字母Y或N,分別表示Yes和No。輸入輸出樣例樣例輸入UnclearNuclear樣例輸出Y
這里的想法是通過將兩個字符串的每個字符轉換為ASCII值,然后每個ASCII作為數組的下表,這樣每個都是唯一的,循環每一個,然后每個ASCII遞增,這樣比較 下表為ASCII的值是否相等。
import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception { Scanner in = new Scanner(System.in); String s1=in.next(); String s2=in.next(); if(s1.length()!=s2.length()) System.out.println("N"); else{ int[] a=new int[92]; int[] b=new int[92]; for(int i=0;i<s1.length();i++){ int c=s1.toUpperCase().charAt(i); int d=s2.toUpperCase().charAt(i); a[c]++; b[d]++; } boolean flag=true; for(int i=65;i<92;i++){ if(a[i]!=b[i]){ flag=false; break; } } if(flag){ System.out.println("Y"); }else{ System.out.println("N"); } } } }總結
以上是生活随笔為你收集整理的蓝桥杯-Anagrams问题(java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蓝桥杯-出现次数最多的整数(java)
- 下一篇: 蓝桥杯-前缀表达式(java)