如何使用C#从数字数组中找到最长连续递增子序列的长度?
LongestIncreaingSubsequence返回数组中连续子序列的整数。该方法有一个for循环,它迭代并跟踪数字。最终结果将计算Max。时间复杂度是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
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练