leetcode 300 最长上升子序列 中等 oc Object-C

 

 

        NSArray * arr = @[@10,@9,@2,@5,@3,@7,@101,@18];
        
        NSMutableArray * mutArr = [[NSMutableArray alloc] init];
        
        int count = 0;
        
        for (int i = 0; i < arr.count; i++) {
            
            [mutArr removeAllObjects];
            
            [mutArr addObject:arr[i]];

            for (int j = i+1; j < arr.count; j++) {
                

                if ([arr[j] intValue] > [[mutArr lastObject] intValue]) {
                    [mutArr addObject:arr[j]];
                }
            }
            
            if (count < mutArr.count) {
                count = mutArr.count;
            }
        }
        
        NSLog(@"%d",count);

 

 

给定一个无序的整数数组,找到其中最长上升子序列的长度。

示例:

输入: [10,9,2,5,3,7,101,18]
输出: 4 
解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。

说明:

可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。
你算法的时间复杂度应该为 O(n2) 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章