Sort by

recency

|

802 Discussions

|

  • + 0 comments

    import java.util.ArrayList; import java.util.Scanner;

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

        ArrayList<ArrayList<Integer>> lines = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            int d = scanner.nextInt();
            ArrayList<Integer> line = new ArrayList<>();
            for (int j = 0; j < d; j++) {
                line.add(scanner.nextInt());
            }
            lines.add(line);
        }
    
        int q = scanner.nextInt();
        for (int i = 0; i < q; i++) {
            int x = scanner.nextInt();
            int y = scanner.nextInt();
    
            try {
                int number = lines.get(x - 1).get(y - 1);
                System.out.println(number);
            } catch (IndexOutOfBoundsException e) {
                System.out.println("ERROR!");
            }
        }
        scanner.close();
    }
    

    }

  • + 0 comments

    Is this jagged array question?

  • + 0 comments
    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);
            
            int row = Integer.parseInt(sc.next());
            sc.nextLine();
            
            List<List<Integer>> input = IntStream.range(0, row)
                .mapToObj(unused -> {
                return Arrays.stream(sc.nextLine().trim().split(" "))
                        .skip(1)
                        .map(Integer::parseInt)
                        .collect(Collectors.toList());
                })
                .collect(Collectors.toList());  
            
            row = sc.nextInt();
            
            IntStream.range(0, row)
            .forEach(unused -> {
                int x = sc.nextInt() - 1;
                int y = sc.nextInt() - 1;
                
                if (x < input.size() && y < input.get(x).size())
                    System.out.println(input.get(x).get(y));
                else
                    System.out.println("ERROR!");
            });
            
            sc.close();
        }
    
  • + 0 comments

    Hi Team, I have used this approach, let me know any updates

    import java.io.*;
    import java.util.*;
    
    public class Solution {
    
        public static void main(String[] args) {
           Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            List<List<Integer>> mainList = new ArrayList<>();
            for (int i = 0; i < n; i++) {
                int d = sc.nextInt();
                List<Integer> subList = new ArrayList<>();
                for (int j = 0; j < d; j++) {
                    subList.add(sc.nextInt());
                }
                mainList.add(subList);
            }
            List<List<Integer>> queryList = new ArrayList<>();
            int q = sc.nextInt();
            for (int k = 0; k < q; k++) {
                List<Integer> query = new ArrayList<>();
                for (int l = 0; l < 2; l++) {
                    query.add(sc.nextInt());
                }
                queryList.add(query);
            }
    
            queryList.forEach(query -> {
                try {
                    Integer record = mainList.get(query.get(0) - 1).get(query.get(1) - 1);
                    System.out.println(record);
                } catch (Exception e) {
                    System.out.println("ERROR!");
                }
            });
           
        }
    }
    
  • + 0 comments
    import java.util.List;
    import java.util.Scanner;
    import java.util.stream.Stream;
    
    import static java.util.stream.Collectors.toList;
    
    
    public class Solution {
    
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            int numberOfArrays = getInputNumber(scanner);
            int numberOfQuerys = 0;
            List<List<Integer>> arraysOfNumbers = new ArrayList<>();
            List<List<Integer>> arrayOfQuery = new ArrayList<>();// x , y in every query
    
            for (int i = 0; i < numberOfArrays; i++) {
                List<Integer> list = getInputListNumbers(scanner);
                list.remove(0);
                arraysOfNumbers.add(list);
            }
    
            numberOfQuerys = getInputNumber(scanner);
            while (numberOfQuerys-- > 0) {
                arrayOfQuery.add(getInputListNumbers(scanner));
            }
            scanner.close();
    
            arrayOfQuery.forEach(list -> {
                int x = list.get(0); // position in array of numbers
                int y = list.get(1);// position in array
                printNumber(x, numberOfArrays, arraysOfNumbers, y);
            });
        }
    
        private static void printNumber(int x, int numberOfArrays, List<List<Integer>> arraysOfNumbers, int y) {
            if(x <0 || x > numberOfArrays){
                System.out.println("ERROR!");
            }
            List<Integer> array = arraysOfNumbers.get(x -1);
            try{
                System.out.println(array.get(y -1));
            }catch (Exception e){
                System.out.println("ERROR!");
            }
        }
    
        private static int getInputNumber(Scanner scanner) {
            return Integer.parseInt(scanner.nextLine());
        }
    
        private static List<Integer> getInputListNumbers(Scanner scanner) {
            return Stream.of(scanner.nextLine().split(" ")).map(Integer::parseInt).collect(toList());
        }
    }