LongestIncreasingSubsequence ऐरे से निरंतर उपअनुक्रम का पूर्णांक लौटाता है। विधि में एक फॉर लूप होता है, जो पुनरावृति करता है और संख्याओं पर नज़र रखता है। अंतिम परिणाम में गणना किया गया अधिकतम होगा। समय जटिलता O(N) है क्योंकि प्रत्येक तत्व को एक बार देखा जाता है और स्पेस जटिलता O(1) है क्योंकि हम किसी स्टोरेज स्पेस का उपयोग नहीं कर रहे हैं।
समय जटिलता − O(N)
स्पेस जटिलता − O(1)
उदाहरण − {2,4,6,5,8}
आउटपुट − 3
उदाहरण
public class Arrays{ public int longestIncreasingSubsequence(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.longestIncreasingSubsequence(nums)); }आउटपुट
3