当前位置: 首页 > 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

相关文章:

  • 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的使用
  • 自己做单词卡的网站是什么/网络营销策划书包括哪些内容
  • 在线A视频网站 一级A做爰片/今日新闻十大头条内容
  • 会员充值网站怎么做/seo常用工具网站
  • 网站商城开发公司/淘宝宝贝关键词排名查询工具
  • 柳州做网站的公司/推广排名seo
  • 免费做宣传的网站是/口碑营销的作用