当前位置: 首页 > news >正文

百度笔试(10.29)

判断s字符串是否可以通过添加某些字符变成t字符串,s是否是t的子序列

s = input()
n = int(input())
st = set()
res = []
for idx in range(n):t = input()if t in st or len(t) < len(s):continuest.add(t)i,j = 0,0while i < len(s) and j < len(t):if s[i] == t[j]:i += 1j += 1if i == len(s):res.append(idx+1)
print(len(res))
print(" ".join(map(str,res)))

修改i层和i+1层数据后,树中的最大最小值之差


from collections import defaultdict
n = int(input())
val = list(map(int,input().split()))
val_mp = defaultdict(int)
for i,v in enumerate(val):val_mp[i+1] = vg = defaultdict(list)
for i in range(n-1):u,v = map(int,input().split())g[u].append(v)
res = []
q = deque()
q.append(1)
val_layer = []
while len(q) > 0:size = len(q)cur_layer = []for _ in range(size):node = q.popleft()cur_layer.append(val_mp[node])for nxt in g[node]:q.append(nxt)val_layer.append(cur_layer)for i in range(len(val_layer)):if i>0 and i!=len(val_layer)-1:temp_val = val_layer.copy()last_layer_vals = [i*2 for i in temp_val[i-1]]cur_layer_vals = [i//2 for i in temp_val[i]]temp_val[i-1] = last_layer_valstemp_val[i] = cur_layer_valsnew_val_list = []for sub_list in temp_val:new_val_list.extend(sub_list)res.append(max(new_val_list)-min(new_val_list))
print(" ".join(map(str,res)))

判断两条线段是否相交

class Point():def __init__(self, x, y):self.x = xself.y = y
def quick_judge(a: Point,b:Point,c:Point,d:Point) -> bool:f1 = max(a.x, b.x) < min(c.x, d.x)f2 = max(a.y, b.y) < min(c.y, d.y)f3 = max(c.x, d.x) < min(a.x, b.x)f4 = max(c.y, d.y) < min(a.y, b.y)if f1 or f2 or f3 or f4:return Falsereturn Truedef xmult(a: Point,b:Point,c:Point,d:Point):vcAx = b.x - a.xvcAy = b.y - a.yvcBx = d.x - c.xvcBy = d.y - c.yreturn vcAx*vcBy-vcAy*vcBxdef judge(a: Point,b:Point,c:Point,d:Point) -> bool:if not quick_judge(a,b,c,d):return Falsexmult1 = xmult(c,d,c,a)xmult2 = xmult(c,d,c,b)xmult3 = xmult(a,b,a,c)xmult4 = xmult(a,b,a,d)if xmult1*xmult2<0 and xmult3*xmult4<0:return Truereturn Falset = int(input())
for _ in range(t):ax1,ay1,ax2,ay2 = map(int, input().split())bx1,by1,bx2,by2 = map(int, input().split())a = Point(ax1, ay1)b = Point(ax2, ay2)c = Point(bx1, by1)d = Point(bx2, by2)if judge(a,b,c,d):print('Yes')else:print('No')
http://www.lryc.cn/news/475353.html

相关文章:

  • 数据库版本更新后,如何迁移数据?
  • Chrome与火狐的安全功能全面评估
  • 微服务设计模式 - 重试模式(Retry Pattern)
  • DNS配置
  • 【Linux指令】---获取进程的PID
  • 在centos中安装cmake
  • 【补补漏洞吧 | 02】等保测评ZooKeeperElasticsearch未授权访问漏洞补漏方法
  • Docker Compose一键部署Spring Boot + Vue项目
  • 【maven】idea执行了maven的install命令给本地安装项目依赖包 安装后删除
  • Android中的Handle底层原理
  • 最简单方式SSH连接局域网中另一台电脑的WSL2
  • 热点聚焦:AI在医疗保健领域的深度渗透与变革
  • 模板方法模式:定义算法框架的设计模式
  • [Redis] Redis事务
  • 编译原理第一次实验报告
  • uniapp的video视频属性打包app后层级过高
  • 问:Redis为什么这么快?
  • 环信鸿蒙IM SDK实现附件消息发送与下载
  • 探索NetCat:网络流量监测与数据传输的利器
  • 【运动的&足球】足球运动员球守门员裁判检测系统源码&数据集全套:改进yolo11-DBBNCSPELAN
  • 求最大公约数,最小公倍数
  • Android——横屏竖屏
  • scala---10.30
  • Pinctrl子需要中client端使用pinctrl过程的驱动分析
  • 【网络】传输层协议TCP
  • 00-开发环境 MPLAB IDE 配置
  • <meta property=“og:type“ content=“website“>
  • C++ 实现俄罗斯方块游戏
  • QT打包Macosx应用发布App Store简易流程
  • untiy mlagents 飞机大战 ai训练