LongestIncreaingSubsequence অ্যারে থেকে কন্টিনিউয়াস সাবসিকোয়েন্সের ইন্টিজার রিটার্ন করে। মেথডটিতে একটি ফর লুপ থাকে, যা ইটারেট করে এবং সংখ্যাগুলোর ট্র্যাক রাখে। ফাইনাল রেজাল্টে ম্যাক্সিমাম ক্যালকুলেট করা থাকবে। টাইম কমপ্লেক্সিটি O(N) কারণ প্রতিটি এলিমেন্ট একবার ভিজিট করা হয় এবং স্পেস কমপ্লেক্সিটি O(1) কারণ আমরা কোনো স্টোরেজ স্পেস ব্যবহার করছি না।
টাইম কমপ্লেক্সিটি − O(N)
স্পেস কমপ্লেক্সিটি − O(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