सूचकांक सीमा से बाहर (CSES क्रमपरिवर्तन समस्या) जावा

0

सवाल

import java.util.*;
import java.io.*;
public class cses6 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        String m = "";

        ArrayList<Integer> even = new ArrayList<Integer>();
        ArrayList<Integer> odd = new ArrayList<Integer>();
        ArrayList<String> stringjoin = new ArrayList<String>();
        if (n == 1) {
            System.out.println(n);
        }
        if (1 < n && n< 4) {
            System.out.println("NO SOLUTION");
        }

        even.set(0, 4);
        even.set(1, 2);
        odd.add(0, 1);
        
        for (int i = 1; i < n+1 && i > 4; i++) {
            if (i % 2 == 0) {
                even.add(i);
            } else {
                odd.add(i);
            }


        }
        odd.addAll(even);

        for (int i = 1; i < odd.size(); i++) {
            m = Integer.toString(odd.get(i));
            stringjoin.set(i,m);
        }

        System.out.println(stringjoin.toString().replace(", ", " ").replace("[", "").replace("]",""));

        
    }
}

मेरी समस्या यह है: इनपुट

केवल इनपुट लाइन में शामिल एक पूर्णांक एन.

आउटपुट

प्रिंट एक क्रमचय के integers 1,2,...,एन. अगर वहाँ कई समाधान कर रहे हैं, आप कर सकते हैं के किसी भी प्रिंट उन्हें. अगर वहाँ कोई नहीं कर रहे हैं समाधान है, प्रिंट "कोई समाधान".

हालांकि, मैं सूचकांक सीमा से बाहर त्रुटि । जो मेरे हिस्से के कोड गलत है और कैसे कर सकते हैं मैं इस त्रुटि को हल? त्रुटि जगह लेता है पर लाइन 19

java permutation
2021-11-24 00:40:31
1

सबसे अच्छा जवाब

-1

गलत कोड है यहाँ

even.set(0, 4);

और कारण है यहाँ

    public E set(int index, E element) {
        rangeCheck(index);

        E oldValue = elementData(index);
        elementData[index] = element;
        return oldValue;
    }

    private void rangeCheck(int index) {
        if (index >= size)
            throw new IndexOutOfBoundsException(outOfBoundsMsg(index));
    }

आप का उपयोग नहीं कर सकता set(int index, E element) विधि करने के लिए एक खाली ArrayList

2021-11-24 00:52:28

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में