• 反腐败国际合作"朋友圈"又大了! 2019-07-13
  • 前线 从一面“魔镜” 看苏宁科技集团智能化发展战略 2019-07-13
  • 身份证被盗产生不良记录 网络虚拟账号权属纠纷如何避免 2019-07-07
  • 的确,呆子七窍通了栁窍。[哈哈] 2019-06-20
  • 强国博客首页整合公告 2019-06-08
  • 西海都市报数字报刊平台 2019-05-27
  • 美国反拥枪的孩子很受伤 2019-05-25
  • C罗戴帽单骑救主 葡萄牙33战平西班牙 2019-05-25
  • 证监会去年对外公开监管信息14560条 2019-05-16
  • 中山八路总站调整12公交线 2019-05-16
  • 谢春涛:深刻把握“中国特色社会主义进入新时代”的重大意义 2019-05-09
  • 湖南一博士生举报水利局领导受贿 遭到冒牌纪委约谈 2019-05-09
  • 西安地铁唐风诗韵文化专列将于6月18日首发 2019-04-30
  • 铜梁区旧县街道:全面提升执行力 推动工作落地见效 2019-04-30
  • 上海电影节女性影人大放异彩 中生代女演员不用焦虑 2019-04-29
  • java 如何判断一个数组a 包含一个数组b(注意b的重复数据)

    Jordan裔 发布于 2018/05/16 13:04
    阅读 1K+
    收藏 0

    广东十一选五推荐号 www.qhysp.com java 如何判断一个数组a 包含一个数组b(注意b的重复数据)。

    比如:

    int[] a = new int[]{1,2,3}; 

    int[] b = new int[]{2,2,3};

    那么a数组不包含b数组。

    加载中
    0
    胃在烧
    胃在烧
    import java.util.Arrays;
    
    public class Contains {
        public static void main(String[] args) {
            int[] a = {1, 1, 5, 3, 9, 8};
            int[] b = {1, 5, 5};
    
            Arrays.sort(a);
            Arrays.sort(b);
    
            int start = 0;
            int match = 0;
            for (int i = 0; i < b.length; i++) {
                for (int j = start; j < a.length; j++) {
                    if (b[i] == a[j]) {
                        start = j + 1;
                        match++;
                        break;
                    }
                }
            }
            System.out.println((match == b.length) ? "匹配" : "不匹配");
        }
    }
    

     

    Jordan裔
    Jordan裔
    这个好像是对的, 一楼少了一步第二层循环加一的步骤
    0
    梅开源
    梅开源

    两个排序后,指针1指向数组a开始遍历,对找到的每个元素,在b中找到后,b计数器+1;然后a数组下个元素,反复。当b计数器和b长度一样为包含。a数组遍历结束为不包含。

    梅开源
    梅开源
    回复 @Jordan裔 : 数组比较,不排序不舒服
    梅开源
    梅开源
    回复 @Jordan裔 : 找到不一样了当然要重置
    Jordan裔
    Jordan裔
    假如是下面这种情况你的方法好像不对吧 int[] a = {1,1,5,3,9,8}; int[] b = {1,5,5};
    Jordan裔
    Jordan裔
    为什么要排序呢?好像不需要排序吧
    0
    张亦俊
    张亦俊

    子集判断,好问题

    0
    whatwhowhy
    whatwhowhy

    循环b判断a,a有存在,就移除这个元素,继续循环b判断,如果a中没有,那就不包含 break或者return出来,具体看你自己

    whatwhowhy
    whatwhowhy
    我没用过,我看百度有,不好意思哈
    Jordan裔
    Jordan裔
    数组没有删除元素的方法
    0
    tcxu
    tcxu
    public class T1 {
     static int sub(int a[], int b[]){
    		int length = a.length-b.length;
    		int i=0,j,k;	
    	do {
    		k=i;		
    		for (j=0;j < b.length;j++){
    		if (a[k++] != b[j])
    		break;
    		};		
    		if ( j == b.length){
    		return i;
    		}
    		i++;
    		} while(i<a.length);
    		return -1;		
    	}
    	
     public static void main(String args[]){
    		int a[]={34,54,67,123,543,5,7,6};
    		int b[]={123,543,5};
    		int result = sub(a,b);
    		if (result==-1)
    		System.out.println("没有匹配的子串。");
    		else
    		System.out.println("在 a 数组,下标:" + result 
    		+ "开始,发现子串 b");	
    	 }
    }

    输出:

    在 a 数组,下标:3开始,发现子串 b

     

    0
    page_zxy
    page_zxy

    如果是不是2个数组 而是N个数组呢?

    返回顶部
    顶部
  • 反腐败国际合作"朋友圈"又大了! 2019-07-13
  • 前线 从一面“魔镜” 看苏宁科技集团智能化发展战略 2019-07-13
  • 身份证被盗产生不良记录 网络虚拟账号权属纠纷如何避免 2019-07-07
  • 的确,呆子七窍通了栁窍。[哈哈] 2019-06-20
  • 强国博客首页整合公告 2019-06-08
  • 西海都市报数字报刊平台 2019-05-27
  • 美国反拥枪的孩子很受伤 2019-05-25
  • C罗戴帽单骑救主 葡萄牙33战平西班牙 2019-05-25
  • 证监会去年对外公开监管信息14560条 2019-05-16
  • 中山八路总站调整12公交线 2019-05-16
  • 谢春涛:深刻把握“中国特色社会主义进入新时代”的重大意义 2019-05-09
  • 湖南一博士生举报水利局领导受贿 遭到冒牌纪委约谈 2019-05-09
  • 西安地铁唐风诗韵文化专列将于6月18日首发 2019-04-30
  • 铜梁区旧县街道:全面提升执行力 推动工作落地见效 2019-04-30
  • 上海电影节女性影人大放异彩 中生代女演员不用焦虑 2019-04-29
  • 3d预测爱彩网 中彩网走势图表机选 南国七星彩彩票论坛 澳门二分彩开奖号码 okooo澳客网足彩过滤 广西快乐十分中奖助手 高手双色球预测号码 疯狂猜图冰球 华东15选5开奖结果查询 神童一肖平码图 安徽十一选五基本走势图 北京快3基本二码遗漏 内蒙古快三500期走势图 排列三后二计划 3d专家预测分析