Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
28
Task/Sort-disjoint-sublist/Java/sort-disjoint-sublist-1.java
Normal file
28
Task/Sort-disjoint-sublist/Java/sort-disjoint-sublist-1.java
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class Disjoint {
|
||||
public static <T extends Comparable<? super T>> void sortDisjoint(
|
||||
List<T> array, int[] idxs) {
|
||||
Arrays.sort(idxs);
|
||||
List<T> disjoint = new ArrayList<T>();
|
||||
for (int idx : idxs) {
|
||||
disjoint.add(array.get(idx));
|
||||
}
|
||||
Collections.sort(disjoint);
|
||||
int i = 0;
|
||||
for (int idx : idxs) {
|
||||
array.set(idx, disjoint.get(i++));
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
List<Integer> list = Arrays.asList(7, 6, 5, 4, 3, 2, 1, 0);
|
||||
int[] indices = {6, 1, 7};
|
||||
System.out.println(list);
|
||||
sortDisjoint(list, indices);
|
||||
System.out.println(list);
|
||||
}
|
||||
}
|
||||
24
Task/Sort-disjoint-sublist/Java/sort-disjoint-sublist-2.java
Normal file
24
Task/Sort-disjoint-sublist/Java/sort-disjoint-sublist-2.java
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.AbstractList;
|
||||
|
||||
public class Disjoint {
|
||||
public static <T extends Comparable<? super T>> void sortDisjoint(
|
||||
final List<T> array, final int[] idxs) {
|
||||
Arrays.sort(idxs);
|
||||
Collections.sort(new AbstractList<T>() {
|
||||
public int size() { return idxs.length; }
|
||||
public T get(int i) { return array.get(idxs[i]); }
|
||||
public T set(int i, T x) { return array.set(idxs[i], x); }
|
||||
});
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
List<Integer> list = Arrays.asList(7, 6, 5, 4, 3, 2, 1, 0);
|
||||
int[] indices = {6, 1, 7};
|
||||
System.out.println(list);
|
||||
sortDisjoint(list, indices);
|
||||
System.out.println(list);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue