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

जावा में आकार 4 के समूहों में तत्वों के विभिन्न एक्सओआर का उपयोग करके सरणी खोजें

हमें आकार एन (एकाधिक 4 का आकार) के एक पूर्णांक सरणी के साथ दिया गया है और हमारे पास सरणी पर एक्सक्लूसिव या ऑपरेशन को शीर्ष प्रदर्शन करना है जैसे इनपुट [1- 4] जैसा दिखता है उपयोगिता_एआर [1- 4] और कंप्यूटिंग की शर्तें हैं अगर गिरफ्तारी [1 - 4] ={a1, a2, a3, a4}फिर q[1 - 4] ={a1 ⊕ a2 ⊕ a3, a1 ⊕ a2 ⊕ a4, a1 ⊕ a3 ⊕ a4, a2 ⊕ a3 ⊕ a4}

आइए इसके लिए विभिन्न इनपुट आउटपुट परिदृश्य देखें -

में - int[] इनपुट ={ 5, 2, 3, 4};

बाहर − XOR ऑपरेशन 4 3 2 5 के बाद का परिणाम

स्पष्टीकरण -एक एक्सक्लूसिव-या गेट का आउटपुट केवल "हाई" जाता है, जब इसके दोनों इनपुट टर्मिनल एक दूसरे से "डिफरेंट" लॉजिक लेवल पर होते हैं। आउटपुट एक "0" है यदि ये दो इनपुट, ए और बी, दोनों तर्क स्तर "1" या "0" पर हैं, तो गेट को "विषम लेकिन सम गेट नहीं" बनाते हैं। दूसरे शब्दों में, जब इनपुट में विषम संख्या 1s होती है, तो आउटपुट "1" होता है।

a1 a2 ⊕ a3 =5 ⊕ 2 ⊕ 3 =4

a1 ⊕ a2 ⊕ a4 =5 ⊕ 2 ⊕ 4 =3

a1 ⊕ a3 ⊕ a4 =5⊕ 3 ⊕ 4 =2

a2 ⊕ a3 ⊕ a4 =2 ⊕ 3 ⊕ 4 =5

में - int[] इनपुट ={ 7, 6, 4, 4, 3, 8, 9, 5};

बाहर − XOR संचालन के बाद परिणाम 5 5 7 6 2 14 15 4

स्पष्टीकरण - एक एक्सक्लूसिव-या गेट का आउटपुट केवल "हाई" जाता है, जब इसके दोनों इनपुट टर्मिनल एक दूसरे से "डिफरेंट" लॉजिक लेवल पर होते हैं। आउटपुट एक "0" है यदि ये दो इनपुट, ए और बी, दोनों तर्क स्तर "1" या "0" पर हैं, तो गेट को "विषम लेकिन सम गेट नहीं" बनाते हैं। दूसरे शब्दों में, जब इनपुट में विषम संख्या 1s होती है, तो आउटपुट "1" होता है। केवल 4 के आकार गुणकों के इनपुट [] के लिए काम करेगा, अन्य आकार के इनपुट सरणी विषम संख्या के स्थान पर 0s दिखाएंगे।

XOR संचालन के बाद परिणाम 5 5 7 6 2 14 15 4

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है -

  • XOR के गुणों के अनुसार a a =0 और a 0 =a. (ए ⊕ बी ⊕ सी) ⊕ (बी ⊕ सी ⊕ डी) =ए ⊕ डी (जैसा (बी ⊕ सी) ⊕ (बी ⊕ सी) =0)

  • गणना के लिए सरणी को 4 के समूहों में विभाजित किया गया है और हम प्रत्येक समूह के परिणामों की गणना करने के लिए XOR के गुणों का पालन करेंगे।

  • (ए डी) का उपयोग करके उपरोक्त संपत्ति से संदर्भ लेते हुए हम बी और सी (ए ⊕ बी ⊕ डी) ⊕ (ए ⊕ डी) =बी (ए ⊕ सी ⊕ डी) ⊕ (ए डी) =सी की गणना कर सकते हैं। पी>

  • और बी और सी का उपयोग करके हम निम्नलिखित दृष्टिकोण का उपयोग करके ए और डी प्राप्त कर सकते हैं (ए बी ⊕ सी) ⊕ (बी) ⊕ (सी) =ए (बी ⊕ सी ⊕ डी) ⊕ (बी) ⊕ (सी) =घ

  • प्रक्रिया सभी चार समूहों के लिए दोहराई जाती है

  • एक लूप को 2 पॉइंटर्स i और j के साथ पुनरावृत्त किया जाता है जब तक कि चार से विभाजित सरणी की लंबाई और एक अस्थायी मान (ANS) और एक उपयोगिता सरणी (जो उत्तर संग्रहीत करती है) पेश की जाती है।

  • लूप के अंदर निम्नलिखित xor संचालन कार्यान्वित किए जाते हैं

    ans=इनपुट ऐरे [i] इनपुट ऐरे [i+3]

    उपयोगिता सरणी [i+1](बी की गणना)=इनपुट सरणी[i+1] उत्तर

    उपयोगिता सरणी [i+2](सी की गणना) =इनपुट सरणी [i+2] ans

    उपयोगिता सरणी [i] (एक की गणना) =इनपुट सरणी [i] ⊕ ((उपयोगिता सरणी [i + 1]) ^ (उपयोगिता सरणी [i + 2]))

    उपयोगिता सरणी [i] (घ की गणना) =इनपुट सरणी [i+3] ⊕ ((उपयोगिता सरणी [i + 1]) ^ (उपयोगिता सरणी [i + 2]))

  • और पॉइंटर को चार वर्णों के अगले सेट के लिए अपडेट किया जाता है

  • अंत में, सरणी मुद्रित होती है और परिणाम उपयोगकर्ता को वापस कर दिया जाता है।

उदाहरण

import java.util.Arrays;
import java.util.List;
public class Tutorials{
   static int ans = 0;
   public static void main(String args[]){
      int[] input = {7, 1, 2, 3};
      int[] arr = new int[input.length];
      for (int i = 0, j = 0; j < input.length / 4; j++){
         ans = input[i] ^ input[i + 3];
         arr[i + 1] = input[i + 1] ^ ans;
         arr[i + 2] = input[i + 2] ^ ans;
         arr[i] = input[i] ^ ((arr[i + 1]) ^ (arr[i + 2]));
         arr[i + 3] = input[i + 3] ^ (arr[i + 1] ^ arr[i + 2]);
         i += 4;
      }
      System.out.println("Different XORs of elements in groups of size 4 is: ");
      for (int i = 0; i < arr.length; i++){
         System.out.println(arr[i]);
      }
   }
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा

Different XORs of elements in groups of size 4 is :
4
5
6
0

  1. जावा का उपयोग करके JSON सरणी कैसे लिखें / बनाएं?

    एक Json सरणी मानों का एक क्रमबद्ध संग्रह है जो वर्ग कोष्ठक में संलग्न है अर्थात यह [ से शुरू होता है और ] के साथ समाप्त होता है। सरणियों में मान , (अल्पविराम) द्वारा अलग किए जाते हैं। नमूना JSON सरणी { books:[ Java, JavaFX, Hbase, Cassandra, WebGL, JOGL]} json-simple एक लाइट वेट लाइब्रेरी है जिसका

  1. पायथन में 1 से N तक के तत्वों वाले सरणी में चार लापता संख्याएं खोजें

    मान लीजिए कि हमारे पास अलग-अलग संख्याओं की एक सरणी है जहां प्रत्येक संख्या [1, N] की सीमा में है, सरणी का आकार (N-4) है और कोई एकल तत्व दोहराया नहीं जाता है। तो, हम समझ सकते हैं कि चार संख्याएँ, 1 से N तक, सरणी में गायब हैं। हमें इन 4 लापता संख्याओं को क्रमबद्ध तरीके से खोजना होगा। इसलिए, यदि इनपुट

  1. पायथन में एक सूची का आकार खोजें

    एक सूची पायथन में एक संग्रह डेटा प्रकार है। सूची में तत्व परिवर्तन योग्य हैं और तत्वों से जुड़ा कोई विशिष्ट क्रम नहीं है। इस लेख में हम देखेंगे कि पायथन में एक सूची की लंबाई कैसे पता करें। जिसका अर्थ है कि हमें सूची में मौजूद तत्वों की संख्या की गणना करनी होगी, भले ही वे डुप्लिकेट हों या नहीं। उदाहर