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

C# का उपयोग करके बैकट्रैकिंग द्वारा दिए गए ऐरे से विशिष्ट सबसेट कैसे खोजें?


विशिष्ट सबसेट समस्या हमें दिए गए ऐरे से विभिन्न संयोजन देती है।

जब लक्ष्य 2 होता है तो ऐरे से, हम उन सभी संयोजनों को लेते हैं जो संख्या 2 से मेल खाते हैं, जब लक्ष्य तीन होता है तो ऐरे से, हम उन सभी संयोजनों को लेते हैं जो काउंट 3 से मेल खाते हैं। नीचे दिए गए उदाहरण में ऐरे [1,2,3] है और लक्ष्य 2 है। तो, हम उन सभी संयोजनों को लेते हैं जो संख्या 2 से मेल खाते हैं "1,2", "2,3", "1,3"।

उदाहरण

using System; using System.Collections.Generic; using System.Text; using System.Linq; namespace ConsoleApplication{    public class BackTracking{       public void Subsets(int[] array){          List<int> currentList = new List<int>();          List<string> results = new List<string>();          BackTrackkingCombination(array, 2, 0, currentList, results);          foreach (var item in results){             StringBuilder s = new StringBuilder();             foreach (var item1 in item){                s.Append(item1.ToString());             }             Console.WriteLine(s);             s = null;          }       }       public void BackTrackkingCombination(int[] array, int size, int startIndex, List<int> currentList, List<string> results){          if (currentList.Count == size){             StringBuilder s = new StringBuilder();             foreach (var item in currentList){                s.Append(item);             }             results.Add(s.ToString());             return;          }          for (int i = startIndex; i < array.Length; i++){             currentList.Add(array[i]);             BackTrackkingCombination(array, size, i + 1, currentList, results); ;             currentList.Remove(array[i]);          }       }    }    class Program{       static void Main(string[] args){          BackTracking b = new BackTracking();          int[] arrs = { 1, 2, 3 };          b.Subsets(arrs);       }    } }

आउटपुट

12 13 23
  1. - C# में दी गई सरणी की रैंक कैसे ढूंढें

    सरणी की रैंक ढूंढने के लिए, Rank प्रॉपर्टी का उपयोग करें। सबसे पहले, एक सरणी घोषित करें और आरंभ करें। int[,] myArr = new int[3,3]; अब, रैंक प्राप्त करें। myArr.Rank आइए पूरा कोड देखें: उदाहरण using System; class Demo { static void Main() { int[,] myArr = new int[3,3]; Console.Wr

  1. - प्रॉपर्टी का उपयोग करके जैग्ड सरणी की लंबाई कैसे ढूंढें

    सबसे पहले, एक जैग्ड सरणी घोषित करें और आरंभ करें। int[][] arr = new int[][] { new int[] { 0, 0 }, new int[] { 1, 2 }, new int[] { 2, 4 }, new int[] { 3, 6 }, new int[] { 4, 8 } }; अब लंबाई प्राप्त करने के लिए लेंथ प्रॉपर्टी का उपयोग करें। arr.Length निम्नलिखित पूरा कोड है: उदाहरण using System; publ

  1. - C# में ऐरे की लंबाई कैसे ज्ञात करें?

    ऐरे की लंबाई ज्ञात करने के लिए Array.Length गुण का उपयोग करें।उदाहरणआइए एक उदाहरण देखें:using System; class Program {    static void Main(){       int[] arr = new int[10];       // लंबाई ज्ञात करना       int arrLength = arr.Length;