题解 | #合并k个已排序的链表#

合并k个已排序的链表

https://www.nowcoder.com/practice/65cfde9e5b9b4cf2b6bafa5f3ef33fa6

# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param lists ListNode类一维数组 
# @return ListNode类
#
class Solution:
    def listUpdate(self,node:ListNode,lists: List[ListNode]):
        lists.remove(node)
        if(node.next!=None):
            lists.append(node.next)

    def mergeKLists(self , lists: List[ListNode]) -> ListNode:
        # write code here    
        lists = [node for node in lists if node != None]
        k = len(lists)
        if(k == 0):
            return None
        if(k==1): 
            return lists[0]
        
        lists =sorted(lists,key= lambda x: x.val)
        start = lists[0]
        res = start
        self.listUpdate(start,lists)
        cur = min(lists,key= lambda x: x.val)
        while(cur!=None):
            res.next = ListNode(cur.val)
            res = res.next
            self.listUpdate(cur,lists)
            if(len(lists) == 0):
                break
            cur = min(lists,key= lambda x: x.val)
            
        return start

钻牛角尖算法,直接把lists更新然后找最小的接起来,脑残算法,感谢python

全部评论

相关推荐

Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务