Sort by

recency

|

651 Discussions

|

  • + 1 comment

    import java.io.; import java.util.; import java.text.; import java.math.; import java.util.regex.*; import java.io.IOException; import java.util.Scanner;

    public class Solution { public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] arr = new int[n];

        for(int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();    
        }
    
        int count = 0;
        for (int x = 0; x < n; x++) {
            int sum = 0;
            for (int y = x; y < n; y++) {
                sum += arr[y];
                if (sum < 0) {
                    count++;
                }
            }
        }
    
        System.out.println(count);
        sc.close();
    }
    

    }

  • + 0 comments

    My solution - As simple as it can get:

    import java.io.; import java.util.;

    public class Solution {

    public static void main(String[] args) {
        /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
        Scanner scan = new Scanner(System.in);
        int num = scan.nextInt();
        int sum=0;
        int negSub = 0;
        String[] arr = new String[num];
        scan.nextLine();
        String n = scan.nextLine();
        arr = n.split(" ");
        for(int i=0;i<num;i++){
    
            for(int j=i+1;j<=num;j++){
                sum=0;
                String[] subArray = Arrays.copyOfRange(arr, i,j);
                 //System.out.println(Arrays.toString(subArray));
                 for(int w=0;w<subArray.length;w++){
                    sum+=Integer.parseInt(subArray[w]);
                 }
                 if(sum<0){
                    negSub++;
                   }
                  //System.out.println(sum);
            }  
        }
       System.out.println(negSub);
    
    
         scan.close();
    

    } }

  • + 0 comments

    Here is Java Subarray solution - https://programmingoneonone.com/hackerrank-java-subarray-problem-solution.html

  • + 0 comments

    import java.io.; import java.util.;

    public class Solution {

    public static void main(String[] args) {
        /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
    
        Scanner sc = new Scanner(System.in);
    
        //Read array size
        int n = sc.nextInt();
        int[] arr = new int[n];
    
        //Read array element 
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }
    
        int count = 0;
    
        for (int i = 0; i < n; i++) {
            int sum = 0;
    
            for (int j = i; j < n; j++) {
                sum += arr[j];
    
                if(sum < 0){
                    count++;
                }
            }
        }
        System.out.println(count);
    }
    

    }

  • + 0 comments
    java
        public static void main(String[] args) {
            /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
            Scanner sc = new Scanner(System.in);
            
            int N = sc.nextInt();
            int[] arr = new int[N];
            
            for (int i = 0; i < N; i++) {
                arr[i] = sc.nextInt();
            }
            
            int countOfNegativeSubArrays = 0;
            int ptr1 = 0;
            int ptr2 = 0;
            
            int sw = Arrays.copyOfRange(arr, ptr1, ptr2+1).length; // default sliding-w width of 1
            while(sw <= arr.length) {
                for (int i = 0; i < arr.length && ptr2+i+1 <= arr.length; i++) {
                    // sliding through the array.
                    int[] subArr = Arrays.copyOfRange(arr, ptr1+i, ptr2+i+1);
                    
                    /**
                        debugging:
                        
                        System.out.printf("from %d to %d\n", ptr1+i, ptr2+i);
                        System.out.println(Arrays.toString(subArr));
                        System.out.println("--------------");
                    */
                    
                    int sum = Arrays.stream(subArr).sum();
                    if(sum < 0) {
                        countOfNegativeSubArrays++;
                    }
                    // 0 : 0
                    // 1 : 1
                    // 2 : 2
                    
                    // 0 : 1
                    // 1 : 2
                    
                }
                // Update the sliding-window width
                sw = Arrays.copyOfRange(arr, ptr1, ++ptr2).length+1;
            }
            
            
            System.out.println(countOfNegativeSubArrays);
        }