没想出特别好的办法,只能二重循环,对a里每个元素,如果不在b里则加到数组c里,最后把a值向c
解决方案 »
- 关于下溯造型,为什么不安全?String类中的equals方法源码疑问
- 关于BufferedImage 如何才能删除缓存中已有的图片
- String类型的对象被倒序后还可以被以本身返回吗?
- 一个监听器和序列化的问题。。
- 如何比较两个SQL查询语句产生的结果集是否相同???
- ArrayList克隆问题
- 有偿转让Java即时通信工具源程序及设计文档
- java新建群~招收高手与菜鸟`互相学习互相交流~
- 好奇的人请进来,( 分多了,快毕业了,路人也进来领分)
- 我的JBUILDER5启动时,怎么要我注册,有没有那位老兄给我一个注册码,我不想给老美美圆
- java.util.Hashtable有没有排序功能?用element逐个取hashtable的key怎么是乱序的?
- 谁能帮我修改一下程序,多谢!
放到Vector之类去,
Vector av=new Vector(); Vector bv=new Vector();
for(int i=0;i<a.length;i++){
av.add(a[i]);
}
...//b too.
av.removeAll(bv);
我本来想将A合并成一个String,用indexOf,但是还要考虑到
{"abc","defg","hijk","lmn"}
{"defg","cde"}这样的问题。
如果你能保证这种情况很少发生,那么这可能会快一点。
然后删除
我觉得这样快点
因为排序的时间复杂度小于O(n**2)
我记得是O(n*logn/log2)
所以这样快
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~不用O(n)那么长,比如二分法搜索就是O(logn),所以排序后总共时间代价为O(2nlogn)=O(nlogn)<O(n^2),前提是选择合适的排序算法和搜索算法。