12
返回列表 发新帖
楼主: PhoenixTAN
跳转到指定楼层
上一主题 下一主题
收起左侧

TuSimple实习电话面试在线写代码

🔗
AlchemistTan 2020-3-6 09:19:46 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies

评分

参与人数 3大米 +3 收起 理由
hooope + 1 给你点个赞!
cccccBECX + 1 给你点个赞!
PhoenixTAN + 1 赞一个

查看全部评分

回复

使用道具 举报

🔗
freeguy 2020-7-10 04:41:48 | 只看该作者
全局:
AlchemistTan 发表于 2020-3-6 09:19
可以用二维DP做dp[j]存储的是第i步以j城市结尾的最小cost。就以题目为例子AAA-BBB-CCC,假设AAA为0,BBB为1 ...

这个算法牛逼,只是例子里面某些数好像不太对。
回复

使用道具 举报

🔗
houhahha 2021-4-20 15:09:11 | 只看该作者
全局:
不是特别理解题目中 情况2: path在地图中没有连通,比如BBB->CCC,是不可达的,可以把CCC改成AAA, 代价是3. 的意思。CCC改成AAA,那路径不就变了么?也就是说起始点和结束点是可以改变的,是么?

还是说 是在路径中添加AAA,把BBB->CCC变成BBB->AAA->CCC啊?
回复

使用道具 举报

🔗
hooope 2021-6-3 14:34:17 | 只看该作者
全局:
找到原题了,这个是LC 1548
回复

使用道具 举报

🔗
天若泓枫 2021-8-21 23:31:58 | 只看该作者
全局:
虽迟但到,如果有人发现不对请告诉我

  1. class Solution(object):
  2.     def get_min_cost(self, cities, maps, path):
  3.         n = len(maps)
  4.         # dp = [[0] * len(cities) for i in range(n+1)]
  5.         #
  6.         # for i in range(1, n+1):
  7.         #     # costs_array = [self.convert_cost(path[i], city) for city in cities]
  8.         #     for k, city in enumerate(cities):
  9.         #         dp[i][k] = min([dp[i-1][j] for j in maps[k]]) + \
  10.         #                    self.convert_cost(path[i-1], city)

  11.         current_status = [0] * len(cities)
  12.         for i in range(len(path)):
  13.             next_status = [0] * len(cities)
  14.             for k, city in enumerate(cities):
  15.                 next_status[k] = min([current_status[j] for j in maps[k]]) + \
  16.                     self.convert_cost(path[i], city)
  17.             current_status = next_status

  18.         return min(current_status)


  19.     def convert_cost(self, x, y):
  20.         cost = 0
  21.         for xc, yc in zip(x, y):
  22.             cost += 1 if xc != yc else 0

  23.         return cost



  24. if __name__ == '__main__':

  25.     cities = ['aaa', 'bbb', 'ccc']
  26.     maps = [[1, 2], [0], [0]]
  27.     s = Solution()
  28.     path = ['bbb', 'abc', 'ccc']
  29.     print(s.get_min_cost(cities, maps, path))

复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表