उत्पन्न किए बिना स्ट्रिंग के सभी अद्वितीय क्रमिकताओं को ढूंढना स्ट्रिंग के सभी क्रमपरिवर्तनों को ढूंढना एक प्रसिद्ध स्टीनहॉस-जॉनसन-ट्रॉटर एल्गोरिदम द्वारा है। लेकिन अगर स्ट्रिंग ऐसे
AABB के रूप में वर्ण दोहराए गए हैं,
तो संभव अद्वितीय संयोजन 4 हो जाएगा!/(2! * 2!) = 6डुप्लीकेट
इस को प्राप्त करने का एक तरीका यह है कि हम यह स्टोर कर सकते हैं है एक सरणी में या तो और डुप्लीकेट हटा दें।
क्या जॉनसन एल्गोरिदम को संशोधित करने का कोई आसान तरीका है, ताकि हम डुप्लिकेट किए गए क्रमपरिवर्तन उत्पन्न न करें। (सबसे कुशल तरीके से)
क्रमपरिवर्तन की परिभाषा क्या है? क्या बीए एएबीबी का वैध क्रमपरिवर्तन है? – ElKamina
कोई बीए एएबीबी का वैध क्रमपरिवर्तन नहीं है। – titan
क्रमपरिवर्तन स्ट्रिंग में वर्णों को घुमाने का एक अनुक्रम है। लंबाई एन और अद्वितीय पात्रों की एक स्ट्रिंग के लिए हमारे पास कुल एन है! संभावित अद्वितीय क्रमपरिवर्तन – titan