判断同字幕异序词

Write a method to decide if two strings are anagrams or not

解法:

1 排序比较 (本次解法)

2 判断每个字符出现的个数(直接)

import java.util.Arrays;

public class Anagrams {

    public static boolean isAnagrams(String a,String b) {
        char[] array_a=a.toCharArray();
        char[] array_b=b.toCharArray();
        Arrays.sort(array_a);
        Arrays.sort(array_b);
        if(array_a.length!=array_b.length)
        {
            return false;
        }
        for (int i = 0; i < array_a.length; i++) {
            if(array_a[i]!=array_b[i])
                return false;
        }
        return true;

    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println(isAnagrams("aac", "aca"));
        System.out.println(isAnagrams("aacd", "aca"));
        System.out.println(isAnagrams("a", "a"));
        System.out.println(isAnagrams("", ""));
        System.out.println(isAnagrams("aaadd", "ddaaa"));

    }

}
时间: 2024-10-09 21:16:52

判断同字幕异序词的相关文章

写程序判断系统是大端序还是小端序

大端是高位字节先存储(低地址) 小端是低位字节先存储(低地址) 网络字节序是大端的,也就是高位字节先传输 而int--char的强制转换,是将低地址的数值截断赋给char,利用这个准则可以判断系统是大端序还是小端序 #include <iostream> using namespace std; int main() { int a = 0x1234; char c = static_cast<char>(a); if (c == 0x12) cout << "

CareerCup之1.4判断字符串是否为变位词

[题目] 原文: 1.4 Write a method to decide if two strings are anagrams or not. 译文: 写一个函数判断两个字符串是否是变位词. [分析] 变位词(anagrams)指的是组成两个单词的字符相同,但位置不同的单词.比如说, abbcd和abcdb就是一对变位词.该题目有两种思路: [思路一] 由于变位词只是字母的顺序改变,字符长度,字符种类没有改变,所以根据此我们只要重新根据字典序排序一下,两个字符串也就一样了. The eyes

[LeetCode系列] 变序词查找问题(Anagrams)

给定一系列词, 找出其中所有的变序词组合. Note: 变序词 - 组成字符完全相同但次序不同的单词. 如dog和god, ate和eat. 算法描述: 使用map<string, vector<string> >存储所有的结果. 最后将map中size > 1的vector<string>插入到结果中. 代码: 1 class Solution { 2 public: 3 vector<string> anagrams(vector<strin

判断字符串是否是异位词

s="anagram", t="nagaram"这就属于异位词,长度一样,包含的字母都一样,每个字符出现的频率也一样,只是顺序不同而已s="rat",t="car"这种就不属于异位词,因为s中的'r'在t中没有思路:1 首先看字符串长度是否一样,不一样则为false2 看每个字符出现的频率是否一样,可以用到hash表.申请一个26长度的int数组.首先遍历字符串s然后,将每个字符串换算成索引后存入数组,并同时进行计数3 遍历字

C++ 判断系统大小字节序

bool IsLitterEndian() { union UTest { std::uint16_t t; std::uint8_t c; } endianTest{ 0x01 }; return (endianTest.c == 0x01); } 原文地址:https://www.cnblogs.com/fluteary/p/9178627.html

判断数组是不是正序

自己写的粗糙算法: function in_asc_order($arr) { // Program your algorithm here to be tested $arr_length = count($arr); if($arr_length==0){ return 0; } for($i=0;$i<$arr_length;$i++){ if($i > 0  && $arr[$i] < $arr[$i-1]){ return 0; } } return 1; }

这42个Python小例子,太走心~

告别枯燥,60秒学会一个Python小例子.奔着此出发点,我在过去1个月,将平时经常使用的代码段换为小例子,分享出来后受到大家的喜欢. 一.基本操作 . 1 链式比较 i = 3 print(1 < i < 3)  # False print(1 < i <= 3)  # True 2 不用else和if实现计算器 from operator import * def calculator(a, b, k):     return {         '+': add,      

49. Group Anagrams

Given an array of strings, group anagrams together. For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"], Return: [ ["ate", "eat","tea"], ["nat",

三. Anagram detection problem for string(字符串中回文词汇检测问题)

anagram 相同字母异序词.heart vs earth 1.Our first solution to the anagram problem will check to see that each character in the first string actually occurs in the second. If it is possible to "checkoff" each character, then the two strings must be anag