LongestIncreaingSubsequence सरणी से निरंतर अनुवर्ती का पूर्णांक देता है। विधि में लूप के लिए है, जो पुनरावृति करता है और संख्याओं का ट्रैक रखता है। अंतिम परिणाम में अधिकतम गणना की जाएगी। समय जटिलता ओ (एन) है क्योंकि प्रत्येक तत्व एक बार देखा जाता है और अंतरिक्ष जटिलता ओ (1) है क्योंकि हम किसी भी भंडारण स्थान का उपयोग नहीं कर रहे हैं।
समय की जटिलता - ओ(एन)
अंतरिक्ष जटिलता -ओ(1)
>उदाहरण - {2,4,6,5,8}
आउटपुट -3
उदाहरण
public class Arrays{ public int longestIncreaingSubsequence(int[] nums){ if (nums == null || nums.Length == 0){ return -1; } int res = 0, count = 0; for (int i = 0; i < nums.Count(); i++){ if (i == 0 || nums[i] > nums[i - 1]){ count++; res = Math.Max(res, count); } else{ count = 1; } } return res; } } static void Main(string[] args){ int[] nums = { 1, 3, 5, 4, 7 }; Console.WriteLine(s.longestIncreaingSubsequence(nums)); }
आउटपुट
3