3 条题解
-
0
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
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
课上的
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
- 上传者