Вот что я делаю:
String one = "некоторая строка"
Строка два = "какая-то строка"
Я хочу знать все символы в строке один и два , и они должны располагаться по порядку, как в строке один
Я написал программу на Java, которая с помощью коллекций выполняет операции над множествами обеих коллекций.
То, что я хотел бы знать, какова сложность выполнения операций над множествами, это полиномиальное время или линейное время
Моя программа здесь
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package careercup.google;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
/**
*
* @author learner
*/
public class CharaterStringsIntersection {
private static final String one = "abcdefgabcfmnx";
private static final String two = "xbcg";
public static void main(String args[]){
List<Character> l_one = new ArrayList<Character>();
List<Character> l_two = new ArrayList<Character>();
for(int i=0; i<one.length(); i++){
l_one.add(one.charAt(i));
}
for(int j=0; j<two.length(); j++){
l_two.add(two.charAt(j));
}
l_one.retainAll(l_two);
Iterator iter = l_one.iterator();
while(iter.hasNext()){
System.out.println(" > " + iter.next());
}
}
}
Выход:
run:
> b
> c
> g
> b
> c
> x