题目很简单,第一题很快就过了,第二道题过了百分之60,应该是算法不够优化,但是第二题的基本思路就是图的DFS搜索,我现在回想起来,可优化的地方就是“怎么选取城市”这里了。

把题目大致描述出来,供大家参考。如果题目描述错了,希望大家指正!

1. 勇士打怪兽

勇士打怪兽,勇士有一个初始能力值,记为 a ,怪兽有 n 个,每个怪兽有自己的能力值,记为 i 。当 a>=i时,勇士可以打败怪兽,并获得一枚金币。且勇士在任意时刻都可以选择花费一枚金币提升自己1点能力值。
勇士打怪兽的顺序随意,勇士的初始金币为0.

问:
勇士最大可以获得多少金币,怪兽不一定要打完。

输入:

第一行:勇士能力值 a ,怪兽个数 n
第二行:n个数,分别代表怪兽的能力值。

输出:

勇士最大可以获得的金币个数

我的代码(通过):

a,n = map(int,input().split())
ls = [int(i) for i in input().split()] # 怪兽能力值
if min(ls) > a:print(0)
else:ls.sort() # 先排序res = 0count_m = 0 # 勇士当前的金币数a_now = a # 勇士当前的能力值i = 0l = len(ls)while i < l:if ls[i] <= a_now:count_m += 1 # 金币数加一res = max(res,count_m) # 更新resi += 1else:if count_m > 0: # 花费一个金币增加一点能力值count_m -= 1a_now += 1else:breakprint(res)

2. 最短路径

有n个城市,每个城市有自己的等级level,城市之间有n-1条路径。
小明可以选择任意的level相同的城市作为起点和终点,并从起点走到终点。

问:
小明走路的最短距离是多少?

输入:

第一行:城市个数 n
第二行:n个数,分别代表不同的城市的level
下面n-1行:每一行有两个数,记为 x y,代表 x 到 y 有路

输出:

最短路径

我的代码(通过60%):

from collections import defaultdict
from collections import dequedef bfs(i,j): # 起点i, 终点j, dfs找最短路径frontier = deque()frontier.append(i)expand = []level = 0while frontier:if level >= res - 1: # 若level已经太深,该条路不可能最短,提前终止return -1node = frontier.popleft()expand.append(node)for next in adj[node]: # adj为存储着相邻城市的字典if next == j:return level+1elif next not in expand and next not in frontier:frontier.append(next)level += 1else:return -1  # 无法从i到j,返回-1n = int(input())
if n==1:print(-1)
else:dic_level = defaultdict(list)tmp = [int(i) for i in input().split()]for i in range(n):dic_level[tmp[i]].append(i+1) # 同一个level的保存在一起ls = dic_level.values()tmp = [len(i) for i in ls]if max(tmp) < 2: # 不存在相同level的城市,不成功print(-1)else:adj = defaultdict(list)for i in range(n-1): # 构建邻接字典,key为城市的编号,value为城市相邻的城市x, y = map(int,input().split())adj[x].append(y)adj[y].append(x)res = nflag = Falsefor group in ls: # 遍历相同level的城市找最短路径l = len(group)for i in range(l):for j in range(i+1,l):if bfs(group[i],group[j]) != -1:res = min(res, dfs(group[i],group[j]))flag = Trueif flag:print(res)else:print(-1)

阿里巴巴笔试2020/4/20 实习生相关推荐

  1. 【阿里巴巴-飞猪旅行-内推】2020年应届实习生招聘

    [阿里巴巴-飞猪旅行-内推]2020年应届实习生招聘 简历通过后可免笔试,直接进入面试环节,HC充足,不用担心往既热门又HC少的部门争破头了. 内推即使不通过,后面还可以参加阿里笔试,相当于多一次机会 ...

  2. 2020.9.20深圳湾-莫安迪摄影原创作品

    2020.9.20深圳湾-莫安迪摄影原创作品

  3. 2020.10.20课堂笔记(java8新特性 lambda表达式)

    一.什么是Lambda? 我们知道,对于一个Java变量,我们可以赋给其一个"值". 如果你想把"一块代码"赋给一个Java变量,应该怎么做呢? 比如,我想把右 ...

  4. Python3基本用法 2020.2.20

    Python3基本用法 2020.2.20 Python3简介 Python是一个高层次的结合了解释性.编译性.互动型和面向对象的脚本语言. Python的设计具有很强的可读 %8.5f格式说明符表示 ...

  5. [汉化主题] Knowhow v1.1.20 – 响应式论坛知识库WordPress主题 (2020.09.20更新)

    KnowHow诈尸更新了.作者在2018年更新了v1.1.16版本就停更了,没想到啊2年后的2020年突然又更新了,而且一连更新了四个版本. 今天我直接为你们带来最新版的汉化主题,Knowhow v1 ...

  6. WorldRemit确定2020年20项重大移民成就

    公司在国际移民日举办移民庆祝活动 伦敦--(美国商业资讯)--领先的跨境支付公司WorldRemit今日发起国际移民日(International Migrants Day)庆祝活动,并宣布2020年 ...

  7. 2020 5 20,100天纪念日,用C语言打印3D动态立体爱心!!!

    2020 5 20,100天纪念日,用C语言打印3D动态立体爱心!!! #include <stdio.h> #include <math.h> #include <wi ...

  8. python win7 64位 2020_Windows7 64位 2020第三版(2020.08.20)目前最完美支持Windows7的系统!!!...

    此系统基于微软Windows7  SP1原版制作.全程离线!安装最新补丁,仅做了适量精简保证稳定运行!此次分离出Windows7 64位单次下载大小已经缩小! ## 1.保留打印机驱动. 2.默认开启 ...

  9. 2013校园招聘-阿里巴巴-笔试真题

    阿里巴巴笔试回忆: 系统设计题: 大图导航系统: (1)现有大图1W张,像素:1024*4096.系统可以增加或者删除图片. (2)手机屏幕分辨率240*320.内存16M,手机本地存储256M.只能 ...

最新文章

  1. 解决VSCode终端中禁止运行脚本问题的一种方式
  2. ORA-03113: end-of-file on communication channel Process ID: 252 Session ID: 1 Serial number: 3
  3. 刷新纪录 | 74.7 秒训练完 ImageNet!2048 GPU 暴力出奇迹
  4. 简易天气java论文_【Java小项目】简单的天气预报
  5. knockout.js的学习笔记3
  6. MySQL蜜罐在护网中提取攻击者微信ID
  7. 网络信息安全风险评估
  8. 创建专属聊天室练习(客户端与服务端通信|客户端界面交互)
  9. 广数980系统锁解除密码
  10. 数据库锁机制和CAS概念
  11. 普源DG5000系列函数/任意波形发生器功能解析
  12. ios苹果开发者账号申请流程(公司类型)
  13. c语言程序设计 滴水视频,编程达人滴水中级班视频教程
  14. 搜狗输入法For Linux
  15. Go 如何打包与压缩文件
  16. 将iTunes降级到12.6版本
  17. 串行口中断服务函数的触发条件-------TI/RI 触发
  18. C语言之strcat函数
  19. Vue-高德地图-立体多边形绘制
  20. Python实战技巧系列

热门文章

  1. 变形迁移(Deformation Transfer)DT
  2. oracle表空间追加数据文件,oracle数据库表空间追加数据库文件方法
  3. php样式模板,word样式和模板的区别
  4. 简历模板和PPT素材
  5. 华为HCNP老学员分享学习的几个境界
  6. 计算机辅助教学是人工智能应用,人工智能技术在计算机辅助教学中的应用与实现...
  7. Dell戴尔游匣7559黄屏解决办法
  8. 做3D建模月薪平均多少?
  9. Halcon表面检测---高度纹理图像中的mura缺陷
  10. 山龙系统服务器,什么是雕刻机的山龙控制系统中的自动加工?