3 条题解

  • -1
    @ 2024-10-23 11:02:04

    课上的

    n,head,key=map(int,input().split())
    a=[]
    for i in range(n):
        x,y=map(int,input().split())
        a.append([x,y])
    p=head
    pre=-1
    a.append([key,-1])
    while p!=-1 and key>a[p][0]:
        pre=p
        p=a[p][1]
    if pre==-1:
        a[len(a)-1][1]=head
        head=len(a)-1
    else:
        a[len(a)-1][1]=a[pre][1]
        a[pre][1]=len(a)-1
    p=head
    while p!=-1:
        print(a[p][0],end=" ")
        p=a[p][1]
    
    • -1
      @ 2024-9-20 16:03:11
      n=input().split()
      a=int(n[0])
      head=int(n[1])
      key=int(n[2])
      m=[[0 for i in range(0,2)] for j in range(0,a+1)]
      for i in range(0,a):
          x=input().split()
          m[i][0]=int(x[0])
          m[i][1]=int(x[1])
      flag=0
      if key<m[head][0]:
          print(key,end=' ')
          flag=1
      while head!=-1:
          print(m[head][0],end=' ')
          if key>=m[head][0] and key<=m[m[head][1]][0] and flag==0:
              print(key,end=' ')
              flag=1
          head=m[head][1]
      if flag==0:
          print(key)
      

      偷懒链表

      • -1
        @ 2024-9-17 21:20:39
        class Node:
            def __init__(self,val:int,nxt:int):
                self.val=val
                self.nxt=nxt
        def add (it,val):
            a.append(Node(val,a[it].nxt))
            a[it].nxt=len(a)-1
        def delete (it):
            a[it].nxt=a[a[it].nxt].nxt
        a=[Node(0,0) for i in range(3000)]
        e=0
        n,h,key=map(int,input().split())
        for i in range(n):
            a[i].val,a[i].nxt=map(int,input().split())
            if a[i].nxt==-1:
                e=i
        it=h
        if a[h].val>=key:
            a.append(Node(key,h))
            h=len(a)-1#特判
        if a[e].val<=key:
            add(e,key)#特判
        else:
            while it!=-1:
                if a[a[it].nxt].val>=key and a[it].val<=key:
                    add(it,key)
                    break
                it=a[it].nxt
        it=h
        while it!=-1:
            print(a[it].val,end=" ")
            it=a[it].nxt
        

        题解qp 代码仅供参考,课上讲的实现方式还是要会的,class写法较好写好理解

        • 1

        信息

        ID
        941
        时间
        1000ms
        内存
        256MiB
        难度
        6
        标签
        递交数
        161
        已通过
        51
        上传者