社区
Java SE
帖子详情
一个算法,如何快速的从一个大字符串数组里面删除一个小的字符串数组的内容
cxj_2000
2003-03-16 07:03:50
比如 A字符串数组里面含有B数组,我想从A里面删除B里面的东西
例如:A为"1","2","3","4","5","6"
B为:"1","5","3"
我要得到A中在B中不存在的字符,
怎么样一个算法才是最快的?
...全文
70
10
打赏
收藏
一个算法,如何快速的从一个大字符串数组里面删除一个小的字符串数组的内容
比如 A字符串数组里面含有B数组,我想从A里面删除B里面的东西 例如:A为"1","2","3","4","5","6" B为:"1","5","3" 我要得到A中在B中不存在的字符, 怎么样一个算法才是最快的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bjzhanghao
2003-03-17
打赏
举报
回复
对不起,我上面说得有问题,呵呵。
“这时判断a中一个元素是否在b中平均要O(n/2)=O(n)”
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~不用O(n)那么长,比如二分法搜索就是O(logn),所以排序后总共时间代价为O(2nlogn)=O(nlogn)<O(n^2),前提是选择合适的排序算法和搜索算法。
cxj_2000
2003-03-17
打赏
举报
回复
shine333(shine)
还是比较好的办法
bjzhanghao
2003-03-17
打赏
举报
回复
我觉得排序并不节约时间,按排序的时间代价为O(nlogn)来算(快速排序),这时判断a中一个元素是否在b中平均要O(n/2)=O(n),总共判断n次,所以总共的时间代价为O(nlogn)+O(n^2)=O(n^2),而不排序的代价也是O(n^2)。
cxj_2000
2003-03-17
打赏
举报
回复
谢谢大家,揭帖
fightboy
2003-03-16
打赏
举报
回复
大数组排序,小数组排序
然后删除
我觉得这样快点
因为排序的时间复杂度小于O(n**2)
我记得是O(n*logn/log2)
所以这样快
shine333
2003-03-16
打赏
举报
回复
查找好象只能用两个循环。
我本来想将A合并成一个String,用indexOf,但是还要考虑到
{"abc","defg","hijk","lmn"}
{"defg","cde"}这样的问题。
如果你能保证这种情况很少发生,那么这可能会快一点。
cxj_2000
2003-03-16
打赏
举报
回复
唉,也只有用这样的方法了,其实我想快一点的,呵呵
shine333
2003-03-16
打赏
举报
回复
如果想代码简单
放到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);
cxj_2000
2003-03-16
打赏
举报
回复
难道没有更好的办法吗?
bjzhanghao
2003-03-16
打赏
举报
回复
没想出特别好的办法,只能二重循环,对a里每个元素,如果不在b里则加到数组c里,最后把a值向c
matlab
数组
字符串
删除
字符+比较字符
数组
和
字符串
算法
开发、数据可视化、数据分析以及数值计算 Matlab课程教程 进阶
matlab
数组
字符串
删除
字符+比较字符
数组
和
字符串
算法
开发、数据可视化、数据分析以及数值计算 Matlab课程 教程 进阶 资源
最大公共
字符串
leetcode-python-gibberish:技术面试数据结构与
算法
练习题
编写
一个
从
字符串
中
删除
任何给定字符的方法? 如何找到给定
字符串
的第
一个
非重复字符? 如何计算
字符串
中给定字符的出现次数? 如何检查两个
字符串
是否为 Anagram? 在
一个
数组
中存储了 1-100 个数字,缺少
一个
数字...
C语言系列之
字符串
相关
算法
尹成老师带你步入 C 语言的殿堂,讲课生动风趣、深入浅出,全套视频
内容
充实,整个教程以 C 语言为核心,完整精彩的演练了数据结构、
算法
、设计模式、数据库、大数据高并发检索、文件重定向、多线程同步、进程通讯、...
扩展矩阵leetcode-LeetCoding:LeetCode实况/Kotlin/一直刷题一直爽
扩展矩阵leetcode LeetCoding LeetCode实况/kotlin/一直刷题一直爽 注:带*号的有待完善 LeetCode题集 序号 题目 难度 分类 标签 ...
数组
...
数组
...
字符串
...
字符串
转整数 ...
数组
...在排序
数组
中查找元素的第
一个
lrucacheleetcode-DSA:动态安全协议
lru缓存leetcode 数据结构和
算法
必须做的编码问题
数组
: 给定总和的子
数组
数三胞胎 Kadane
算法
数组
中缺少数字 合并两个已排序的
数组
...找到第
一个
设置位 最右边的不同位 检查是否设置了第 K 位 给定
Java SE
62,616
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章