3 条题解

  • 0
    @ 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)
    

    偷懒链表

    • 0
      @ 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
        @ 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

        信息

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