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

【华为机试题】 [Python] 贪心的商人

在这里插入图片描述

代码

# 其实就是贪心算法求每个商品的最大利润,最后再和商品数相乘就好了
from unittest.mock import patchclass Solution:def func(self, number, days, item_max_num, item_price):max_money = 0for i in range(number):max_money += item_max_num[i] * self.compute_max_price(item_price[i])print(max_money)return max_moneydef compute_max_price(self, price_list):# 获取单个商品的最大利润max_price = 0left_price = price_list[0]right_price = price_list[0]for cur_price in price_list[1:]:if cur_price > right_price:right_price = cur_priceelse:max_price += (right_price - left_price)left_price = cur_priceright_price = cur_priceif left_price != right_price:max_price += (right_price - left_price)print(price_list, max_price)return max_pricedef input_args():number = int(input('number:'))days = int(input('days:'))item_max_num = list(map(int, input('item price:').split()))item_price = []for i in range(days):item_price.append(list(map(int, input('item price:').split())))return number, days, item_max_num, item_pricemock_input_lst = ["3","3","4 5 6","1 2 3","4 3 2","1 5 3",
]
# mock_input_lst = [
#     "1",
#     "1",
#     "1",
#     "1",
# ]
with patch('builtins.input', side_effect=mock_input_lst):number, days, item_max_num, item_price = input_args()
s = Solution()
s.func(number, days, item_max_num, item_price)

http://www.mrgr.cn/news/68326.html

相关文章:

  • spring相关的面试题
  • SQL server增删改查语句和实例
  • 每日OJ题_牛客_DP59数位染色_01背包_C++_Java
  • 软著补正有哪些类型
  • 什么是ASO优化?
  • JAVA题目笔记(十三) 爬虫
  • px4 wai bu ding wei
  • XSS注入攻击概述与SpringBoot下的防范策略
  • 【赵渝强老师】Redis的AOF数据持久化
  • MYSQL学习笔记(二)--认识索引、使用索引、索引失效
  • 成语词典大全 1.8.3 |强大的成语词典软件,趣味学习成语
  • SpringBoot技术在企业资产管理中的应用
  • Vatee万腾平台:以数字化技术驱动企业创新发展
  • go语言中的结构体含义和用法详解
  • 邦芒支招:掌握这四招写出漂亮的职场工作总结
  • Spring 多数据源动态切换
  • 【C++进阶】异常
  • Java:数据结构-Lambda表达式
  • 【SAP-PP】 简单的COGI锁定报错,设置JOB自动执行
  • 使用ThorUi
  • 你真的了解Canvas吗--解密十四【ZRender篇】
  • SAP ABAP开发学习——登录语言问题
  • 高性能Web网关:OpenResty 基础讲解
  • try-catch性能详解!
  • web信息收集
  • ./bin/mindieservice_daemon启动成功