重新学习算法_Day1 & 2807

发布时间 2023-10-29 22:09:48作者: LYoungH

一段时间前看了《复杂度分析》和《数据结构》这两章 今天又重看了一遍 做了些笔记 虽然感觉这些东西不用记 而且感觉算法这种东西不适合记笔记 但是还是写了

今天把《数组和链表》看了 想用Python做一道链表的题2807 但是很遗憾超时了 但是逻辑应该是没问题的


But 本来想回去把超时的代码给粘贴过来的 结果改了一下又没超了 

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
def GongYue(a,b):
    while b != 0:  
        a, b = b, a % b  
    return a
class Solution(object):

    def insertGreatestCommonDivisors(self, head):
        """
        :type head: Optional[ListNode]
        :rtype: Optional[ListNode]
        """
        P = head
        while(P.next):
            n_new = ListNode(GongYue(P.val,P.next.val))
            n_new.next = P.next
            P.next = n_new
            P = P.next.next
        return head

 

看了下题解 学到了两个知识点吧

1.如何求最大公约数

2.Python多重赋值 同时性(我个人这样称呼)