Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- HashMap<String,Integer> map = new HashMap<String,Integer>();
- for(int i=0;i<bank.length;i++)
- {
- map.put(bank[i],i);
- }
- int len = start.length();
- int le=0;
- Character[] choices={'A','C','T','G' };
- char[] temp;
- Queue<String> Q = new LinkedList<String>();
- Queue<Integer> level = new LinkedList<Integer>();
- Q.add(start);
- level.add(le);
- while(!Q.isEmpty())
- {
- String test1=Q.remove();
- String test2=test1;
- le=level.remove();
- if(test1.equals(end))
- {
- return le;
- }
- le++;
- for(int j=0;j<len;j++)
- {
- for(Character c:choices)
- {
- if(c==(test1.charAt(j)))
- {
- continue;
- }
- else
- {
- temp=test1.toCharArray();
- temp[j]=c;
- test1=new String(temp);
- if(map.containsKey(test1))
- {
- System.out.println(test1);
- Q.add(test1);
- level.add(le);
- }
- }
- }
- test1=test2;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement