Bonjour,
je cherche a faire un Algo pour ceci:
j'ai deux tableau d'entier A et B. A est l'ensemble des ids deja existants. B est l'ensemble des ids que l'on veux ajouter....
Je cherche une methode ou un algo permettant de recuppérer les éléments de B qui ne sont pas dans A.
Dans la methode que j'ai developpé ca ne marche pas pour certain cas... par exemple si B est plus grand que A....
Voici la methode que j'ai faite :
Est ce que quelqun peut amélirer cette methode pour quel marche tout le temps ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 public static int[] NonIntersectIntArray(int[] a, int [] b) {DEBUG.ASSERT(a != null); DEBUG.ASSERT(b != null); Vector theResult = new Vector(); int[] naIdx = GetIndirectionVector(a); int[] nbIdx = GetIndirectionVector(b); int i=0,j=0; while(true) { int nIdx1 = naIdx[i]; int nIdx2 = nbIdx[j]; if (a[nIdx1] < b[nIdx2]) { i++; } else if (a[nIdx1] == b[nIdx2]) { i++; j++; } else if (a[nIdx1] > b[nIdx2]) { theResult.add(new Integer(nIdx2)); j++; } if ( i==a.length || j == b.length ) break; } return IntVectorToIntArray(theResult); }
Partager