दिलचस्प पोस्ट
केवल बिटwise ऑपरेटरों का उपयोग करके दो पूर्णांक जोड़ें? अजगर में संपत्ति की सुविधा का उपयोग करने के बारे में वास्तविक दुनिया का उदाहरण? PHP वैरिएबल्स का उपयोग कर एक गतिशील mysql क्वेरी बनाएं JQuery / javascript में सीमा चौड़ाई कैसे प्राप्त करें Nth से अंतिम तक सभी कॉलम प्रिंट करने के लिए awk का उपयोग करना .NET से SSIS पैकेज को कैसे निष्पादित करें? पृष्ठ को पूरी तरह से भरी हुई फंक्शन कैसे निष्पादित करें? सभी सर्वर-साइड कोड के लिए ConfigureAwait को कॉल करने के लिए सर्वोत्तम अभ्यास अपाचे एचटीटीपी क्लाइंट 4.0.3 – मैं POST अनुरोध के लिए sessionID के साथ कुकी कैसे सेट करूँ? मतदान के बिना फ़ाइल परिवर्तन का पता लगाएं जो अधिक प्रभावी है: यदि (शून्य == चर) या if (चर == रिक्त)? नई एंड्रॉइड स्टूडियो में एपीके स्थान MySQL में WHERE खंड के साथ अनुक्रमणिका का उपयोग नहीं किया जा रहा है? पॉपअप के साथ WPF हैंडनेस कैसे JQuery और प्रोटोटाइप के बीच संघर्ष से बचने के लिए

स्विफ्ट सरणी पर ऑपरेशन (यूनियन, प्रतिच्छेदन) सेट करें?

क्या कोई मानक लाइब्रेरी कॉल्स हैं जो मैं दो सरणियों पर सेट ऑपरेशंस करने के लिए उपयोग कर सकता हूं, या इस तरह के तर्क को खुद को लागू कर सकता हूँ (आदर्श रूप में कार्यशील और संभवतः कुशलतापूर्वक)?

Solutions Collecting From Web of "स्विफ्ट सरणी पर ऑपरेशन (यूनियन, प्रतिच्छेदन) सेट करें?"

हां, स्विफ्ट में Set क्लास है

 let array1 = ["a", "b", "c"] let array2 = ["a", "b", "d"] let set1:Set<String> = Set(array1) let set2:Set<String> = Set(array2) 

स्विफ्ट 3.0+ सेट पर ऑपरेशन कर सकते हैं:

 firstSet.union(secondSet)// Union of two sets firstSet.intersection(secondSet)// Intersection of two sets firstSet.symmetricDifference(secondSet)// exclusiveOr 

स्विफ्ट 2.0 सरणी तर्कों पर गणना कर सकता है:

 set1.union(array2) // {"a", "b", "c", "d"} set1.intersect(array2) // {"a", "b"} set1.subtract(array2) // {"c"} set1.exclusiveOr(array2) // {"c", "d"} 

स्विफ्ट 1.2+ सेट पर गणना कर सकते हैं:

 set1.union(set2) // {"a", "b", "c", "d"} set1.intersect(set2) // {"a", "b"} set1.subtract(set2) // {"c"} set1.exclusiveOr(set2) // {"c", "d"} 

यदि आप कस्टम स्ट्रैक्ट्स का उपयोग कर रहे हैं, तो आपको एचशबल को कार्यान्वित करने की आवश्यकता है

स्विफ्ट 2.0 अपडेट के लिए टिप्पणी में माइकल स्टर्न के लिए धन्यवाद

हाशनीय जानकारी के लिए टिप्पणियों में अमजद हुसैनी को धन्यवाद

सबसे प्रभावी तरीका मुझे पता है कि गॉड नंबर का उपयोग कर। गॉडेल एन्कोडिंग के लिए Google

विचार ऐसा है मान लीजिए आपके पास संभावित संख्याएं हैं और उन्हें सेट बनाने की आवश्यकता है। उदाहरण के लिए, एन = 100,000 और {1,2,3}, {5, 88, 19000} आदि जैसे सेट बनाना चाहते हैं।

विचार स्मृति में एन प्रधान संख्याओं की सूची रखने के लिए और किसी दिए गए सेट {a, b, c, …} के लिए आप इसे सांकेतिक शब्दों में बदलना

  prime[a]*prime[b]*prime[c]*... 

तो आप एक बिगनम्बर के रूप में सेट को सांकेतिक शब्दों में बदलना BigNumbers के साथ ऑपरेशन, इस तथ्य के बावजूद कि वे इंटिजर के संचालन की तुलना में धीमी गति से अभी भी बहुत तेज हैं

2 सेट ए, बी को एकजुट करने के लिए, आप लें

  UNITE(A, B) = lcm(a, b) 

ए और बी के सबसे कम-कॉमन-मल्टी टू ए और बी के सेट और दोनों नंबर हैं।

प्रतिच्छेदन करने के लिए आप लेते हैं

  INTERSECT(A, B) = gcd (a, b) 

महत्तम सामान्य भाजक।

और इसी तरह।

इस एन्कोडिंग को गॉडलाइज़ेशन कहा जाता है, आप अधिक के लिए Google कर सकते हैं, फ़्रीगे के तर्क का उपयोग करते हुए लिखे गए सभी अंकगणित शब्दों को इस तरह से संख्याओं का उपयोग करके एन्कोड किया जा सकता है।

आपरेशन के लिए सदस्य है? यह बहुत ही सरल है —

 ISMEMBER(x, S) = remainder(s,x)==0 

कार्डिनल पाने के लिए यह थोड़ा अधिक जटिल है –

 CARDINAL(S) = # of prime factors in s 

आप नंबर एस को प्रमुख कारकों के उत्पाद में सेट का प्रतिनिधित्व करते हैं और उनके घाटों को जोड़ते हैं। यदि सेट डुप्लिकेट की अनुमति नहीं देता है तो आपके पास सभी एक्सपोनेंट 1 होंगे।

कोई मानक लाइब्रेरी कॉल नहीं हैं, लेकिन आप ExSwift लाइब्रेरी को देखना चाह सकते हैं। इसमें अंतर, प्रतिच्छेदन और संघ सहित एरे पर नए फ़ंक्शन का एक गुच्छा शामिल है

आप उद्देश्य-सी के समान पैटर्न का अनुसरण करना चाह सकते हैं, जिसमें भी ऐसे कार्यों की कमी है, लेकिन एक सरल उपाय है:

उद्देश्य सी में दो सरणियों को कैसे छेदना है?