Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.util.Scanner;
- public class readCuriosity
- {
- static String[] words = new String[99171];//[650655];
- static String[] dickens = new String[230000];
- /*static boolean find(String s)
- {
- for (int i=0;i<99171;i++)
- if (s.equals(words[i])) return true;
- return false;
- }
- */
- static boolean binarySearch(String s, String [] words)
- {
- int max=words.length-1;
- int min=0;
- while (min < max)
- {
- int mid = min + (max - min) / 2;
- ///System.out.println(mid + ": " + words[mid]);
- if (words[mid].compareTo(s) > 0) max=mid;
- else if (words[mid].compareTo(s) < 0) min = mid+1;
- else return true;
- }
- return false;
- }
- public static void main (String[] args) throws Exception
- {
- int j=0;
- BufferedReader b = new BufferedReader(new FileReader("pg700.txt"));
- int x; String str="";
- while ((x=b.read())!=-1)
- {
- if (Character.isLetter((char)x))
- {
- str+=(char)x;
- while ((x=b.read())!=-1 && Character.isLetter((char)x))
- {
- str+=(char)x;
- }
- dickens[j]=str.toLowerCase();
- str="";
- j++;
- }
- else
- { str="";
- while ((x=b.read())!=-1 && !Character.isLetter((char)x));
- str+=(char)x;
- }
- }
- Scanner s = new Scanner(new FileReader("words.txt"));
- String z =s.next();
- int i=0;
- while (s.hasNext())
- {
- z =s.next();
- words[i]=z.toLowerCase();
- i++;
- }
- for (int k=0;k<j;k++)
- //if (!find(dickens[k])) System.out.println(dickens[k]);
- if (!binarySearch(dickens[k], words)) System.out.println(dickens[k]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement