a ={1,2,3,4,5,6,7,8,9,0}
b = {2,4,7,0}
c={22,4,6,10}如何判断一个数组中的所有数都在另一个数组中包含 全部包含返回false 否则返回true判断结果
b和a 比较 返回false;
c和a 比较 返回true;
b = {2,4,7,0}
c={22,4,6,10}如何判断一个数组中的所有数都在另一个数组中包含 全部包含返回false 否则返回true判断结果
b和a 比较 返回false;
c和a 比较 返回true;
调试欢乐多
要求时间复杂度还是空间复杂度高
一般来说是时间复杂度
考虑时间复杂度的话
用bitmap算法
为a数组建立一个bitmap
这里面java.util.bitset就可以完成
初始先遍历一次a建立bitmap
查找及判定都可以在o(1)时间复杂度内完成
总的时间复杂度为o(a.length+b.length)
考虑空间复杂度的话估计要快速排序附近的时间复杂度
先把a和b排序了
然后进行比较
效率相对能高些
又不太占用额外空间
写一个通用的方法
先判断长度..是谁要包含谁...然后遍历..在这个方法里面拿出这个数组中的每个元素和另一个数组中的每个元素比较..如果有不同的话就break return false这种方法笨是笨了点...但是好写打个广告:
新群创立,群名为:Java 技術交流,群号为: 36115166
本群交流JAVA各方面技术.为职业人提供一个交流的平台,同样为新手提供一个解决疑问平台.
希望大家能够维护好群内的学习氛围