奇安信笔试(含代码)
笔试挺简单的,但不知道为什么第一道题就80%,第二道题倒是直接ac了,有大佬知道为啥第一个就80%吗,求指导
第一题,先买性价比高的口罩
while 1: a = int(input()) list1 = [[1, 5], [2, 3], [2, 3], [2, 2], [5, 4], [3, 1]] count = 0 sum = 0 jilu = [] while a > 0 and list1: count = 0 for i in range(len(list1)): if a >= list1[i][0] and i not in jilu: a -= list1[i][0] sum += list1[i][1] count += 1 jilu.append(i) if count == 0: break print(sum)第二题,很简单,循环队列
class Lb: class Node: def __init__(self,item): self.value=item self.next=None def __init__(self): self.head=self.Node(None) self.tail=self.Node(None) self.head.next=self.tail self.tail.next=self.head self.total=[] def add(self,item): node1=self.Node(item) node1.next=self.head.next self.head.next=node1 def sump(self): count=0 sum2=0 while self.head.value==None: self.head=self.head.next sum2 += self.head.value self.head=self.head.next while count<3: if self.head.value!=None and self.head.value not in self.total and count<=1: self.total.append(self.head.value) sum2+=self.head.value count+=1 self.head=self.head.next elif self.head.value!=None and self.head.value not in self.total and count==2: self.total.append(self.head.value) sum2 += self.head.value count += 1 elif self.head.value==None: self.head = self.head.next elif self.head.value!=None and self.head.value in self.total: sum2 += self.head.value break return sum2 a=list(map(int,input().split(','))) lb1=Lb() for i in a[::-1]: lb1.add(i) sum1=lb1.sump() sum2=lb1.sump() sum3=lb1.sump() if sum1==sum2 and sum2==sum3: print("yes") else: print("no")