Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java में ArrayList का उपयोग करके स्ट्रिंग के सभी क्रमपरिवर्तन (permutations) प्रिंट करें


इस समस्या में, हमें आकार n का एक स्ट्रिंग दिया गया है और हमें स्ट्रिंग के सभी क्रमपरिवर्तन प्रिंट करने हैं। लेकिन इस बार हमें ArrayList का उपयोग करके इस क्रमपरिवर्तन को प्रिंट करना है।

आइए एक उदाहरण से समझते हैं -

इनपुट: string = 'XYZ'

आउटपुट: XYZ, XZY, YXZ, YZX, ZXY, ZYX

इस समस्या को हल करने के लिए, हम स्ट्रिंग के वर्णों के सभी क्रमपरिवर्तन उत्पन्न करेंगे। हम एक पुनरावर्ती (recursive) फ़ंक्शन का उपयोग करेंगे और ArrayList वापस करेंगे।

उदाहरण

निम्नलिखित एल्गोरिदम का ArrayList कार्यान्वयन है:

import java.util.ArrayList;

public class Main {
    static void printArrayList(ArrayList combo) {
        combo.remove("");
        for (int i = 0; i < combo.size(); i++)
            System.out.print(combo.get(i) + "\t");
    }

    public static ArrayList generatePermutation(String str) {
        if (str.length() == 0) {
            ArrayList empty = new ArrayList<>();
            empty.add("");
            return empty;
        }
        char ch = str.charAt(0);
        String subStr = str.substring(1);
        ArrayList lastCombination = generatePermutation(subStr);
        ArrayList newCombination = new ArrayList<>();
        for (String val : lastCombination) {
            for (int i = 0; i <= val.length(); i++) {
                newCombination.add(val.substring(0, i) + ch + val.substring(i));
            }
        }
        return newCombination;
    }

    public static void main(String[] args) {
        String str = "NOPQ";
        System.out.println("Permutations of string are:");
        printArrayList(generatePermutation(str));
    }
}

आउटपुट

Permutations of string are:
NOPQ ONPQ OPNQ OPQN NPOQ PNOQ PONQ POQN NPQO PNQO PQNO PQON NOQP ONQP OQNP OQPN NQOP QNOP QONP QOPN NQPO QNPO QPNO QPON

  1. - Java में javax.json API का उपयोग करके JSON को सुंदर प्रिंट कैसे करें?

    javax.json पैकेज JSON को संसाधित करने के लिए एक ऑब्जेक्ट मॉडल API प्रदान करता है। ऑब्जेक्ट मॉडल API एक उच्च-स्तरीय API है जो JSON ऑब्जेक्ट और सरणी संरचनाओं के लिए अपरिवर्तनीय ऑब्जेक्ट मॉडल प्रदान करता है। इन JSON संरचनाओं को JsonObject और JsonArray इंटरफेस का उपयोग करके ऑब्जेक्ट मॉडल के रूप में दर्श

  1. - Java में Flexjson लाइब्रेरी का उपयोग करके JSON को प्रिटी प्रिंट कैसे करें?

    Flexjson हल्की Java लाइब्रेरी है सीरियलाइज़िंग और डी-सीरियलाइज़िंग Java बीन्स, मैप्स, ऐरे, और कलेक्शन्स को JSON फॉर्मेट में। एक JSONSerializer Java ऑब्जेक्ट्स को JSON में सीरियलाइज़ेशन करने के लिए मुख्य क्लास है और डिफ़ॉल्ट रूप से शैलो सीरियलाइज़ेशन करता है। हम JSONSerializer क्लास के prettyPrint(b

  1. - Java में Gson लाइब्रेरी का उपयोग करके JSON को प्रिटी प्रिंट कैसे करें?

    Gson Java के लिए एक JSON लाइब्रेरी है, जिसे Google द्वारा बनाया गया है। Gson का उपयोग करके, हम JSON उत्पन्न कर सकते हैं और JSON को Java ऑब्जेक्ट्स में बदल सकते हैं। डिफ़ॉल्ट रूप से, Gson JSON को कॉम्पैक्ट फॉर्मेट में प्रिंट कर सकता है। Gson प्रिटी प्रिंट सक्षम करने के लिए, हमें GsonBuilder क्लास के