How to check if array contains all elements of a given range in Java

1 Answer

0 votes
public class MyClass {
    public static boolean check_elements(int arr[], int rang_from, int rang_to) {
        int range = rang_to - rang_from;
        int size = arr.length;
        
        for (int i = 0; i < size; i++) {
            if (arr[i] >= rang_from && arr[i] <= rang_to) {
                int j = arr[i] - rang_from;
                if (arr[j] > 0) {
                    arr[j] *= -1;
                }
                for (int k = 0; k < size; k++) {
                    System.out.print(arr[k] + " ");
                }
                System.out.println();
            }
        }
     
        for (int i = 0; i < range; i++) {
            if (arr[i] > 0)
                return false;
        }
        return true;
    }
    public static void main(String args[]) {
        int arr[] = {1, 4, 5, 2, 3, 7, 8, 3, 9, 4, 4, 0, 6};
        int rang_from = 3, rang_to = 7; 

        if (check_elements(arr, rang_from, rang_to))
            System.out.println("Yes");
        else
            System.out.println("No");
    }
}


 
 
  
/*
run:
        
1 -4 5 2 3 7 8 3 9 4 4 0 6 
1 -4 -5 2 3 7 8 3 9 4 4 0 6 
-1 -4 -5 2 3 7 8 3 9 4 4 0 6 
-1 -4 -5 2 -3 7 8 3 9 4 4 0 6 
-1 -4 -5 2 -3 7 8 3 9 4 4 0 6 
-1 -4 -5 2 -3 7 8 3 9 4 4 0 6 
-1 -4 -5 2 -3 7 8 3 9 4 4 0 6 
-1 -4 -5 -2 -3 7 8 3 9 4 4 0 6 
Yes

*/

 



answered Dec 14, 2021 by avibootz

Related questions

...