I have used arraylist for the same in a TCS hiring contest for a question in java and my friend use vector in c++ but my I didn't qualify and he did, but both had the same logic..what should I do for the next time .please give suggestion
            Asked
            
        
        
            Active
            
        
            Viewed 62 times
        
    -2
            
            
        - 
                    2A little too less information. Maybe explain a bit what the requirments are. And why your ArrayList approuch wasn't qualified? – n247s Aug 17 '18 at 11:24
- 
                    What is the type of the elements stored in the ArrayList? – Henry Aug 17 '18 at 11:30
- 
                    Welcome to StackOverflow! As @n247s said, please edit your question and include more details about the requirements and what your approach was. Cheers :) – vatbub Aug 17 '18 at 11:33
- 
                    Please add the code of both the solutions, yours and your friend's. – mudit_sen Aug 17 '18 at 11:42
1 Answers
3
            
            
        I wrote this snippet to test your scenario -
BigDecimal i = BigDecimal.valueOf(10).pow(9);
    ArrayList<BigDecimal> arr = new ArrayList();
    while(i.compareTo(BigDecimal.ZERO) != 0) {
        arr.add(BigDecimal.ONE);
        i.subtract(BigDecimal.ONE);
    }
OUTPUT ->
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Arrays.java:3210)
On the other hand, LinkedList holds up better(Reference:How much data can a List can hold at the maximum?) but fails in the end ->
BigDecimal i = BigDecimal.valueOf(10).pow(9);
    BigDecimal value = i;
    LinkedList<BigDecimal> ll = new LinkedList<>();
    while(i.compareTo(BigDecimal.ZERO) != 0) {
        ll.add(value);
        i.subtract(BigDecimal.ONE);
    }
OUTPUT ->
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
 
    
    
        Varun Chaudhary
        
- 73
- 7
