#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time: 2019/3/16
# @Author: xfLi
# The file...
"""
问题分析:
可以用贪心算法来解决,首先以数组中的每个元素的第二值为关键字进行排序,
然后扫描一遍数组,看看能否首尾衔接的住?如果不能就舍弃,依次累计,即可。
"""
def findLongestChain(pairs):
pairs.sort(key=lambda x: x[1])
temp = [float('inf'), float('-inf')] # 临时变量[ 正无穷打,负无穷大 ]
count = 0
for p in pairs: # 贪心的,进行求解
if temp[1] < p[0]:
count += 1
temp = p
return count
if __name__ == '__main__':
pairs = [[1,2], [2,3], [3,4]]
result = findLongestChain(pairs)
print(result)
【LeetCode】646.最长数对链
猜你喜欢
转载自blog.csdn.net/qq_30159015/article/details/88606385
今日推荐
周排行