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

[Python] 贪心算法简单版

贪心算法-简单版

贪心算法的一般使用场景是给定一个列表ls, 让你在使用最少的数据的情况下达到或超过n.
我们就来使用上面讲到的这个朴素的例题来讲讲贪心算法的基本模板:

2-1.排序

既然要用最少的数据, 我们就要优先用大的数据拼, 为了实现这个效果, 我们得先给列表从大到小排序.

sorted(ls, reverse = True)
# 别忘了reverse = True从大到小

2-2.选择

我们需要遍历列表, 每次选出现在的元素, 记录当前总和和累加次数, 当总和大于等于n时, 结束循环.

tot = 0
cnt = 0
# 注意一个很容易错的地方, 这里的语句顺序不可改变!
for l in ls:
	tot += l
	if tot >= n:
		break
	cnt += 1

2-3.完整简单版模板

注释版:

# 输入
n = int(input())
ls = [int(i) for i in input().split()]

# 排序
sorted(ls, reverse = True)

# 主要算法, 摘大苹果
tot = 0
cnt = 0
for l in ls:
	tot += l
	if tot >= n:
		break
	cnt += 1

记忆版:

n = int(input())
ls = [int(i) for i in input().split()]
sorted(ls, reverse = True)
tot = 0
cnt = 0
for l in ls:
	tot += l
	if tot >= n:
		break
	cnt += 1
http://www.dtcms.com/a/101637.html

相关文章:

  • MySQL-5.7.37安装配置(Windows)
  • 从Web到桌面:深入解析Electron的技术架构与应用实践
  • Node.js 路由 - 初识 Express 中的路由
  • Java面试黄金宝典21
  • 关于ESP系列MCU的UART download原理
  • C# 中 WebSocket 的详细讲解与实现
  • spring 常用注解区别及使用场景
  • vscode通过root远程连接wsl
  • MPU6050模块详解:从原理到STM32驱动指南(上) | 零基础入门STM32第八十九步
  • sqli-labs靶场 less5
  • DSP开发板的JTAG接口
  • vue复习
  • 塔能科技:用精准节能撬动社会效益的行业杠杆
  • 7.4考研408数据结构B树与B+树专题深度解析
  • 接口等幂处理
  • SpringBoot集成Logback终极指南:从控制台到云端的多维日志输出
  • Bootstrap5 复选框与单选框
  • strcpy和strncpy和strcat和strncat和strstr和strtok函数使用及实现
  • 【Python实例学习笔记】图像相似度计算--哈希算法
  • 多线程开发中List的使用
  • 力扣hot100:滑动窗口——找到字符串中所有字母异位词
  • ER图怎么做?智能 ER 图生成等功能全面解析
  • golang 同步与锁
  • devextreme-react/scheduler 简单学习
  • Android 常用工具类记录
  • Hosts文件与DNS的关系:原理、应用场景与安全风险
  • Linux 随机数据生成
  • 从零构建大语言模型全栈开发指南:第三部分:训练与优化技术-3.2.1模型并行与数据并行策略(ZeRO优化器与混合精度训练)
  • Kubenetes Service类型与应用场景、YAML模板以及练习
  • 计算机网络面经(一)