Tag: anagram

检查字符串数组输入的Anagram

这是我下面的代码,用于检查给定字符串数组的字谜。 即使在最简单的情况下,只有一个输入,它总是给我假。 我不明白我没有正确地将字符串数组转换为字符串,或者我的算法是完全错误的。 public class anagram { static boolean isAnagram(String[] s1, String[] s2) { String str = s1.toString(); String str2 = s2.toString(); if (str.length() != str2.length()) return false; for (int i =0; i<str.length();i++) { for (int j = 0;j<str2.length();j++) { if (s1[i] == s2[j]) { return true; } return false; } } return true; } […]

使用哈希表和/或尝试的Anagram算法

我一直在互联网上搜索一段时间,找到一个字符串(单词)的所有字符串(即团队产生单词tame),使用哈希表和trie。 我在SO上找到的所有内容都是validation2个单词是字谜。 我想更进一步,找到一个英文算法,以便我可以用Java编程。 例如, 循环遍历所有角色。 对于每个唯一字符插入哈希表。 等等。 我不想要一个完整的程序。 是的,我正在练习面试。 如果出现这个问题,那么我就会知道它并且知道如何解释它而不仅仅是记住它。

找出无序的anagramic对子串的数量

我想解决以下问题: https : //www.hackerrank.com/challenges/sherlock-and-anagrams 这是我的代码 import java.util.*; public class Solution { public static boolean check(String s1,String s2) { int [] count1 = new int[26]; for( int i = 0; i < s1.length(); i++ ) { char ch1 = s1.charAt(i); count1[ch1-'a']++; } int [] count2 = new int[26]; for( int i = 0; i < s2.length(); […]

如何找到仅包含/包含给定char序列的单词

我希望遍历一个字典文件,找到只包含给定字符的单词 示例dgo 期望的结果:狗,上帝 不包含(在其中)给定字符的单词 我正在使用以下代码: while((dictionaryWord = br_.readLine()) != null) { if(dictionaryWord.contains(getWord())) System.out.println(dictionaryWord); } 但这给了我所有包含给定字符的单词 – 不是所希望的

字符数组的每个组合

尝试显示数组字符的每个组合而不重复字母时遇到问题。 public static String[] getAllLists(String[] elements, int lengthOfList) { //initialize our returned list with the number of elements calculated above String[] allLists = new String[(int)Math.pow(elements.length, lengthOfList)]; //lists of length 1 are just the original elements if(lengthOfList == 1) return elements; else { //the recursion–get all lists of length 3, length 2, all the way up […]

Java中的Anagram算法

我想制作anagram算法,但这段代码不起作用。 我的错在哪里? 例如des和sed是anagram但输出不是anagram同时我必须使用string方法。 不是数组。 🙂 public static boolean isAnagram(String s1 , String s2) { String delStr=””; String newStr=””; for(int i=0;i<s1.length();i++) { for(int j=0 ; j < s2.length() ; j++) { if(s1.charAt(i)==s2.charAt(j)) { delStr=s1.substring(i,i+1); newStr=s2.replace(delStr,""); } } } if(newStr.equals("")) return true; else return false; }