Java 兩集合求交集

2021-08-22 06:07:09 字數 1832 閱讀 9390

題目:有兩個有序的集合,集合的每個元素都是一段範圍,求其交集,例如交集和的交集是

兩個有序的集合,集合的每個元素都是一段範圍,求其交集

所求交集結果直接列印到輸出終端

@param collects1:集合1

@param collects2:集合2

引數校驗:集合內要有元素;0號下標小於1號下標

public static void intersectionwithcolletion(list

<

list

<

integer

>> collects1, list

<

list

<

integer

>> collects2) {}

第一步:建立引數校驗的方法 isvaild(),該方法不外露

private static boolean isvaild(list

<

list

<

integer

>> collects)

iterator <

list

<

integer

>> iterator = collects.iterator();

while (iterator.hasnext())

if (list

.get(0) >

list

.get(1))

}return

true;

}

第二步:引數校驗collections是list>型別的,遍歷集合

public static void intersectionwithcolletion(list

<

list

<

integer

>> collects1, list

<

list

<

integer

>> collects2)

//迭代器型別的

iterator <

list

<

integer

>> iterator1 = collects1.iterator();

while (iterator1.hasnext()) }}

第三步:求區間交集,分情況輸出

private

static

void

intersection(listlist1, listlist2)

if (a1 == b2)

if (a2 == b1)

if (a1 >= b1) else

}if (b1 >= a1) else }}

所有情況如圖所示:

測試:

public

static void main(string args)

測試結果:

集合賦值如圖所示:

兩集合(陣列)求交集

演算法一步驟 sortsortintersectionalgorithm 1 sort集合一 2 sort集合二 3 同時遍歷已排序的兩集合,進行計算 演算法二步驟 sortintersectionalgorithm 1 sort集合一 2 遍歷集合二到已排序的集合一種進行查詢,並計算 演算法的基準...

資料結構實踐 順序表 兩集合的交集

all right reserved.檔名稱 creat2.cpp 作 者 姜延鍇 完成日期 2016年9月21日 版 本 號 v1.9 輸入描述 各個集合 程式輸出 合併後的集合 include list.h include void unionlist sqlist la,sqlist lb,s...

求集合交集

求整數集合a與整數集合b的交集。輸入格式 輸入有三行 第一行是a和b的元素個數m和n 第二行是集合a的m個元素 第三行是集合a的n個元素。輸出格式 輸出交集的所有元素 按照在a集合出現的順序輸出,最後乙個輸出後面沒有空格 輸入樣例 在這裡給出一組輸入。例如 3 410 9 2 9 10 8 0 輸出...