【DataStructure】Some useful methods for arrays
Method 1: Check whether the array is sorted.
private static boolean isSorted(int[] a) {
if (a.length < 2) {
return true;
}
for (int i = 1; i < a.length; i++) {
if (a[i] < a[i-1]) {
return false;
}
}
return true;
}
}
Method 2: Use the start number and range to init the array public static void load(int[] a, int start, int range) {
for (int i = 0; i < a.length; i++) {
a[i] = start + random.nextInt(range); // random 5-digit numbers
}
}
Method 3: Get the min number from the array
private static int minimum(int[] a) {
int min = a[0];
for (int i = 1; i < a.length; i++) {
if (a[i] < min) {
min = a[i];
}
}
return min;
}
Method 4: Remove the duplicate elements from object
private static int[] withoutDuplicates(int[] a) {
int n = a.length;
if (n < 2) {
return a;
}
for (int i = 0; i < n-1; i++) {
for (int j = i+1; j < n; j++) {
if (a[j] == a[i]) {
--n;
System.arraycopy(a, j+1, a, j, n-j);
--j;
}
}
}
int[] aa = new int[n];
System.arraycopy(a, 0, aa, 0, n);
return aa;
}
Method 5: Finds the prime number according to certain range
private static final int SIZE=1000;
private static boolean[] isPrime = new boolean[SIZE];
private static void initializeSieve() {
for (int i = 2; i < SIZE; i++) {
isPrime[i] = true;
}
for (int n = 2; 2*n < SIZE; n++) {
if (isPrime[n]) {
for (int m = n; m*n <SIZE; m++) {
isPrime[m*n] = false;
}
}
}
}
Another way of implement the function of finding the prime number(Vector)
private static final int SIZE=1000;
private static Vector<Boolean> isPrime = new Vector<Boolean>(SIZE);
private static void initializeSieve() {
isPrime.add(false); // 0 is not prime
isPrime.add(false); // 1 is not prime
for (int i = 2; i < SIZE; i++) {
isPrime.add(true);
}
for (int n = 2; 2*n < SIZE; n++) {
if ((isPrime.get(n))) {
for (int m = n; m*n < SIZE; m++) {
isPrime.set(m*n, false);
}
}
}
}
Another way of implement the function of finding the prime number(BitSet)
private static final int SIZE=1000;
private static BitSet isPrime = new BitSet(SIZE);
private static void initializeSieve() {
for (int i = 2; i < SIZE; i++) {
isPrime.set(i);
}
for (int n = 2; 2*n < SIZE; n++) {
if (isPrime.get(n)) {
for (int m = n; m*n <SIZE; m++) {
isPrime.clear(m*n);
}
}
}
}
Method 6: Print out the result according to the certain format:
public static void printSieve() {
int n=0;
for (int i = 0; i < SIZE; i++) {
if (isPrime[i]) {
System.out.printf("%5d%s", i, ++n%16==0?"
":"");
}
}
System.out.printf("%n%d primes less than %d%n", n, SIZE);
}
Notes: There exists five spaces between each number, and it will change line when the length of char % 6 is zero.
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53
59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131
137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223
227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311
313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409
419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503
509 521 523 541 547 557 563 569 571 577 587 593 599 601 607 613
617 619 631 641 643 647 653 659 661 673 677 683 691 701 709 719
727 733 739 743 751 757 761 769 773 787 797 809 811 821 823 827
829 839 853 857 859 863 877 881 883 887 907 911 919 929 937 941
947 953 967 971 977 983 991 997
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.