Skip to main content

Java Anagrams

Two strings,  and , are called anagrams if they contain all the same characters in the same frequencies. For example, the anagrams of CAT are CATACTTACTCAATC, and CTA.
Complete the function in the editor. If  and  are case-insensitive anagrams, print "Anagrams"; otherwise, print "Not Anagrams" instead.
Input Format
The first line contains a string denoting .
The second line contains a string denoting .
Constraints
  • Strings  and  consist of English alphabetic characters.
  • The comparison should NOT be case sensitive.
Output Format
Print "Anagrams" if  and  are case-insensitive anagrams of each other; otherwise, print "Not Anagrams" instead.
Sample Input 0
anagram
margana
Sample Output 0
Anagrams
Explanation 0
CharacterFrequency: anagramFrequency: margana
A or a33
G or g11
N or n11
M or m11
R or r11
The two strings contain all the same letters in the same frequencies, so we print "Anagrams".
Sample Input 1
anagramm
marganaa
Sample Output 1
Not Anagrams
Explanation 1
CharacterFrequency: anagrammFrequency: marganaa
A or a34
G or g11
N or n11
M or m21
R or r11
The two strings don't contain the same number of a's and m's, so we print "Not Anagrams".
Sample Input 2
Hello
hello
Sample Output 2
Anagrams
Explanation 2
CharacterFrequency: HelloFrequency: hello
E or e11
H or h11
L or l22
O or o11
The two strings contain all the same letters in the same frequencies, so we print "Anagrams".
import java.io.*;
import java.util.*;

public class Solution {
    static boolean isAnagram(String a, String b) {
       // Complete the function
         a=a.toLowerCase();
        b=b.toLowerCase();
        boolean f = false;
        char[] c = a.toCharArray();
        Arrays.sort(c);
        char[] d = b.toCharArray();
        Arrays.sort(d);
        String A = new String (c);
         String B = new String (d);
         if (A.equals(B)) {
          f=true;
         }
      return f;
 
    }
    public static void main(String[] args) {
        
        Scanner scan = new Scanner(System.in);
        String a = scan.next();
        String b = scan.next();
        scan.close();
        boolean ret = isAnagram(a, b);
        System.out.println( (ret) ? "Anagrams" : "Not Anagrams" );
    }
}

Comments

  1. instead of converting to lower case...we can check equalsIgnoreCase will be a better solution

    ReplyDelete

Post a Comment

Popular posts from this blog

Java Currency Formatter Solution

Given a  double-precision  number,  , denoting an amount of money, use the  NumberFormat  class'  getCurrencyInstance  method to convert   into the US, Indian, Chinese, and French currency formats. Then print the formatted values as follows: US: formattedPayment India: formattedPayment China: formattedPayment France: formattedPayment where   is   formatted according to the appropriate  Locale 's currency. Note:  India does not have a built-in Locale, so you must  construct one  where the language is  en  (i.e., English). Input Format A single double-precision number denoting  . Constraints Output Format On the first line, print  US: u  where   is   formatted for US currency.  On the second line, print  India: i  where   is   formatted for Indian currency.  On the third line...

Java Stdin and Stdout II Code

In this challenge, you must read an  integer , a  double , and a  String  from stdin, then print the values according to the instructions in the  Output Format  section below. To make the problem a little easier, a portion of the code is provided for you in the editor. Note:  We recommend completing  Java Stdin and Stdout I  before attempting this challenge. Input Format There are three lines of input: The first line contains an  integer . The second line contains a  double . The third line contains a  String . Output Format There are three lines of output: On the first line, print  String:  followed by the unaltered  String  read from stdin. On the second line, print  Double:  followed by the unaltered  double  read from stdin. On the third line, print  Int:  followed by the unaltered  integer  read from stdin. To make the pr...

How to Unirest HTTP API Requests Call in Java

Unirest is a set of lightweight HTTP libraries available in multiple languages, built and maintained by Mashape, who also maintain the open-source API Gateway Kong. Do yourself a favor, and start making HTTP requests like this: Creating Function : /** * Unirest API call return jsonResponse handle * Function Name: ApiCallFunction * @param vEmail, Url * @return status */ public static String ApiCallFunction(String vEmail, String Url) { try{ HttpResponse<JsonNode> jsonResponse = Unirest.post(Url) .field("vEmail",vEmail) .asJson(); JSONObject output= jsonResponse.getBody().getObject(); String status= output.getString("status"); return status; }catch(UnirestException e){ return "error"; } } Type Of   Response Handle : // Response to String Sting bookResponse = Unirest.get(Url).asString(); //Respo...