Beispiel #1
0
  public static void main(String[] args) {

    // TriangularNumbers obj = new TriangularNumbers();
    // System.out.println(obj.getTriangularNumber(7));
    //		Scanner in = new Scanner(System.in);
    //		int[] searchArray = new int[5];
    //		int key = 0;
    //		int i =0;
    //		while(i<searchArray.length){
    //			System.out.println("Enter value for array elements");
    //			searchArray[i] = in.nextInt();
    //			i++;
    //		}
    //
    //		System.out.println("Enter the value to be searched");
    //		key = in.nextInt();
    //		BinarySearch search = new BinarySearch();
    //		//System.out.println(search.doSearch(searchArray43, key));
    //		System.out.println(search.recursiveSearch(searchArray,key,0,searchArray.length));
    // TowerOfHanoi tw= new TowerOfHanoi(64);
    // tw.moveTowerOfHanoi(64, "A", "B", "C");
    int[] A = {5, 2, 6, 8, 3};
    // QuickSort sort = new QuickSort(7);
    // sort.insertElements();
    // sort.doQuick();
    Anagram g = new Anagram();
    List<String> list = g.doAnagram("kind");
    for (String s : list) {
      System.out.println(s);
    }
    System.out.println(list.size());
  }
Beispiel #2
0
 @Test
 public void testIdenticalWordIsNotAnagram() {
   Anagram detector = new Anagram("corn");
   List<String> anagrams =
       detector.match(Arrays.asList("corn", "dark", "Corn", "rank", "CORN", "cron", "park"));
   assertThat(anagrams).containsExactly("cron");
 }
Beispiel #3
0
 @Test
 public void testMultipleAnagrams() {
   Anagram detector = new Anagram("allergy");
   List<String> anagrams =
       detector.match(
           Arrays.asList("gallery", "ballerina", "regally", "clergy", "largely", "leading"));
   assertThat(anagrams).contains("gallery", "largely", "regally");
 }
 private static void hashQuery(
     LinkedList<LinkedList<Anagram>>[] dictList, Scanner queryScan, PrintWriter outputWriter) {
   Anagram queryItem;
   int index;
   LinkedList<Anagram> printPoint;
   while (queryScan.hasNext()) {
     printPoint = null;
     queryItem = new Anagram(queryScan.nextLine());
     index = queryItem.cantorHash();
     if (dictList[index] != null) {
       for (LinkedList<Anagram> a : dictList[index]) {
         if (queryItem.getKey().compareTo(a.peek().getKey()) == 0) {
           printPoint = a;
           break;
         }
       }
     }
     writeAnagramsToFile(printPoint, outputWriter, queryItem);
   }
 }
 private static int hashStash(String input, LinkedList<LinkedList<Anagram>>[] dictList) {
   int collCount = 0;
   Anagram addition = new Anagram(input);
   // int index = Math.abs(addition.getKey().hashCode()) % 199967;
   int index = addition.cantorHash();
   // int index = Math.abs(input.hashCode()) % 199967;
   if (dictList[index] == null) {
     dictList[index] = new LinkedList<LinkedList<Anagram>>();
   }
   for (LinkedList<Anagram> a : dictList[index]) {
     if (a.peek() != null && addition.getKey().equals(a.element().getKey())) {
       a.addFirst(addition);
       return collCount;
     }
     collCount++;
   }
   dictList[index].addFirst(new LinkedList<Anagram>());
   dictList[index].element().addFirst(addition);
   return collCount;
 }
 private static void writeAnagramsToFile(
     LinkedList<Anagram> anagramList, PrintWriter outputWriter, Anagram queryItem) {
   if (anagramList == null) {
     outputWriter.println(queryItem.getWord() + " 0");
     return;
   }
   int count = 0;
   outputWriter.print(queryItem.getWord());
   for (Anagram a : anagramList) {
     if (a.compareTo(queryItem) != 0) {
       count++;
     }
   }
   outputWriter.print(" " + count);
   for (Anagram a : anagramList) {
     if (a.compareTo(queryItem) != 0) {
       outputWriter.print(" " + a.getWord());
     }
   }
   outputWriter.println();
 }
Beispiel #7
0
 @Test
 public void testDetectAnagrams() {
   Anagram detector = new Anagram("listen");
   List<String> anagrams = detector.match(Arrays.asList("enlists", "google", "inlets", "banana"));
   assertThat(anagrams).contains("inlets");
 }
Beispiel #8
0
 @Test
 public void testEliminateAnagramSubsets() {
   Anagram detector = new Anagram("good");
   assertThat(detector.match(Arrays.asList("dog", "goody"))).isEmpty();
 }
Beispiel #9
0
 @Test
 public void testEliminateAnagramsWithSameChecksum() {
   Anagram detector = new Anagram("mass");
   assertThat(detector.match(Arrays.asList("last")).isEmpty());
 }
Beispiel #10
0
 @Test
 public void testDoesNotConfuseDifferentDuplicates() {
   Anagram detector = new Anagram("galea");
   List<String> anagrams = detector.match(Arrays.asList("eagle"));
   assertThat(anagrams).isEmpty();
 }
Beispiel #11
0
 @Test
 public void testSimpleAnagram() {
   Anagram detector = new Anagram("ant");
   List<String> anagram = detector.match(Arrays.asList("tan", "stand", "at"));
   assertThat(anagram).containsExactly("tan");
 }
Beispiel #12
0
 private void assertAnagram(List<String> expected, String word, String... words) {
   Anagram anagram = new Anagram(words);
   List<String> actual = anagram.fetch(word);
   assertEquals(expected, actual);
 }
Beispiel #13
0
 @Test
 public void empty_string_return_empty_list() {
   Anagram anagram = new Anagram("a", "b");
   List<String> actual = anagram.fetch("");
   assertEquals(expected(), actual);
 }
Beispiel #14
0
 @Test
 public void testAnagramsAreCaseInsensitive() {
   Anagram detector = new Anagram("Orchestra");
   List<String> anagrams = detector.match(Arrays.asList("cashregister", "Carthorse", "radishes"));
   assertThat(anagrams).contains("Carthorse");
 }
Beispiel #15
0
 @Test
 public void testDetectMultipleAnagrams() {
   Anagram detector = new Anagram("master");
   List<String> anagrams = detector.match(Arrays.asList("stream", "pigeon", "maters"));
   assertThat(anagrams).contains("maters", "stream");
 }
Beispiel #16
0
 @Test
 public void testNoMatches() {
   Anagram detector = new Anagram("diaper");
   assertThat(detector.match(Arrays.asList("hello", "world", "zombies", "pants"))).isEmpty();
 }
Beispiel #17
0
 public void Assert(String expected, String toSend) {
   Anagram anagram = new Anagram();
   assertEquals(expected, anagram.run(toSend));
 }