以梦为码,CodeArts Snap 缩短我与算法的距离

背景

最近一直在体验华为云的 CodeArts Snap,逐渐掌握了使用方法,代码自动生成的准确程度大大提高了。

自从上次跟着 CodeArts Snap 学习用 Python 编程,逐渐喜欢上了 Python。

我还给 CodeArts Snap 起了一个花名:

最佳智能学习伴读

之前就在看 CodeArts Snap 简介的时候,就注意到它熟悉算法。

而我虽然对算法感兴趣,但是因为时常想不出来实现方案,而很少运用算法。

既然是 CodeArts Snap,我还可以借鉴之前的"借力 CodeArts Snap实现结果倒推过程"学习思路,来学习算法。

关于 CodeArts Snap 的使用,推荐我另一篇文章《念念不忘智能编程,必有回响CodeArts Snap【玩转华为云CodeArts Snap】》

关于"结果倒推过程"学习思路,推荐我另一篇文章《借力 CodeArts Snap,助我打开结果倒推过程新思路【玩转华为云CodeArts Snap】》

CodeArts Snap:缩短与算法的距离

最优装载

我在看算法的题目时,看到一个很有趣的关于轮船装载的题目

一天,一艘货轮正在装货,这艘货轮的载重量是C,每件货物的重量是Wi。

现在需要装入尽可能多的货物,但是所有的货物总重量不能超过货轮的载重量。

问:最多能装多少件货物?

这个题目挺好懂的,怎么实现呢?

让我来考一考 CodeArts Snap。

功能注释

将题目转换成注释,录入到 py 文件中:

"""
1、假设有一辆轮船正在装货;
2、现在有一组货物需要装上,每个货物的重量为:4,10,7,11,3,5,14,2;
3、装货的限制是,装入的货物重量之和不能超过轮船的载重量30;
4、现在设计一个算法,求出轮船能装入货物的最多的总数量。
:return:
"""

生成代码

在注释下方进行"回车"操作,CodeArts Snap 可以自动生成代码:

def max_weight(weight, goods):""":param weight: 货物重量:param goods: 货物列表:return: 最大的货物数量"""if len(goods) == 0:return 0max_weight = 0count = 0for i in range(len(goods)):if max_weight + goods[i] <= weight:max_weight = max_weight + goods[i]count += 1return count

这次的代码十分漂亮,给出了入参和返回的注释。

调用

我们来按照入参的注释,定义 goods:

goods = [4,10,7,11,3,5,14,2]

这个时候,可以手动输入打印结果的代码,也可以进行"回车"操作,因为回车之后,CodeArts Snap 都会快速的给出下一步的提示,准确度很高。

print(max_weight(weight, goods))

运行结果

最优装载和货轮的载重量有关,不同的载重量会有不同的结果。

先来设置的最大载重量为:30,运行代码,得到结果是:5。

我又观察了一下这组货物的特点,发现一个很妙的载重量:31,于是重新设置了一下,运行代码,得到结果是:6。

小结

CodeArts Snap 给出代码的速度十分迅速,而且上面的代码很好理解。

但是我却有个疑问,CodeArts Snap 给出的算法是最优解吗?

等我深入学习算法之后,再来回答这个问题吧。

优化建议

不过,在体验过程中,也发现了一些使用上的不方便的地方,整理了几个优化建议。

1、功能准确性还有待提升

有时候会出现代码不全的情况,有时候,代码结尾出现一个多出来且没有写完全的"if"语句

2、功能匹配的精度还有待提升

有时候,代码会比注释描述的内容多很多,且会出现重复循环的代码。

结尾小记

经过一段时间的体验,我又解锁了 CodeArts Snap 一重用法——学习算法。

CodeArts Snap 给出代码的速度确实快,但是,有一点使用中不方便的地方:

功能注释要尝试多次,才能得到想要的功能。

未来,我还需要不断摸索"功能描述",让 CodeArts Snap 生成的代码更加准确💐。


作者:非职业「传道授业解惑」的开发者叶一一
简介:「趣学前端」、「CSS畅想」系列作者,华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。
如果看完文章有所收获,欢迎点赞👍 | 收藏⭐️ | 留言📝。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/649352.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机服务器中了halo勒索病毒怎么办,halo勒索病毒解密处理流程

计算机技术的发展与应用为企业的生产生活提供了坚实基础&#xff0c;但同时也为网络安全威胁制造了有利条件。近期&#xff0c;网络上的勒索病毒非常嚣张&#xff0c;给企业的计算机服务器带来严重威胁。近日&#xff0c;云天数据恢复中心接到山东某制造公司的求助&#xff0c;…

Oracle DG环境下的秘钥管理

今天有朋友问到1&#xff09;DG环境下的秘钥管理需要注意什么&#xff0c;2&#xff09;秘钥管理对DG的日志同步有影响吗&#xff1f; 对于2&#xff09;的回答是明确的&#xff0c;没有影响。秘钥的管理和DG的redo log shipping完全是两套机制。在最新版的Oracle Key Vault常…

Qlik Sense : ErrorCode(错误变量)

错误变量 所有错误变量的值在脚本执行之后依然保留。第一个变量 ErrorMode 由用户输入&#xff0c;最后三个变量是 Qlik Sense 的输出&#xff08;包括脚本中错误的信息&#xff09;。 使用每个变量的下拉列表可查看每个变量的简短描述和语法。单击语法描述中的变量名称可了解…

Vulnhub靶机:FunBox10

一、介绍 运行环境&#xff1a;Virtualbox 攻击机&#xff1a;kali&#xff08;10.0.2.15&#xff09; 靶机&#xff1a;FunBox10&#xff08;10.0.2.35&#xff09; 目标&#xff1a;获取靶机root权限和flag 靶机下载地址&#xff1a;https://download.vulnhub.com/funbo…

Effective C++——关于重载赋值运算

令operator返回一个*this的引用 在重载,,*等运算符时&#xff0c;令其返回一个指向this的引用。 class MyClass {int* val; public:MyClass(int i) : val(new int(i)){}MyClass():val(new int(0)){}void print() {cout << *val << endl;}MyClass& operator(co…

LabVIEW电液比例阀测试系统

电液比例阀与普通阀和伺服阀相比&#xff0c;比例阀展现出显著的耐污染和可靠性特点。为了满足这些比例阀的综合性能测试需求&#xff0c;开发了一种基于LabVIEW软件的电液比例阀综合性能试验台。这个系统不仅能够进行比例压力阀、流量阀和方向阀的性能测试&#xff0c;而且通过…

RabbitMQ 笔记一

概览&#xff1a; MQ基本概念 RabbitMQ入门 基本工作模 1.MQ是什么&#xff1f; MQ:Message Queue, 存储消息的中间件&#xff0c;是消息发送过程中的暂存容器&#xff0c;主要用于解决分布式系统进程间的通信。 分布式系统通信的两种方式&#xff1a;直接远程调用、借助第三…

01:云计算底层技术奥秘|虚拟化管理|公有云概述

云计算底层技术奥秘&#xff5c;虚拟化管理&#xff5c;公有云概述 虚拟化平台安装验证虚拟化支持 Linux虚拟机创建虚拟机磁盘虚拟机配置文件创建虚拟机 公有云简介 虚拟化平台安装 虚拟化&#xff1a;是一种技术 就是将不可拆分的实体资源变成可以自由划分的逻辑资源&#xf…

one-stage/two-stage区别

One-stage和Two-stage是目标检测中的两种主要方法&#xff0c;它们在处理速度和准确性上存在显著差异。以下是两者的主要区别&#xff1a; 处理流程&#xff1a;One-stage方法通过卷积神经网络直接提取特征&#xff0c;并预测目标的分类与定位&#xff0c;一步到位&#xff0c…

【Go学习】Ginkgo测试框架学习实践 + 问题记录 + 怎么解决(0)

1、ginkgo测试框架介绍&#xff1a;https://onsi.github.io/ginkgo/ 2、重点是学习实践 问题记录 怎么解决 3、送福利&#xff1a;国内好用的ChatGpt有很多&#xff0c;比如&#xff1a;天工、文心一言、讯飞星火、通义万相等 1. 安装 xxxmacdeMacBook-Pro-3  /Volumes/mac…

【JS基础】定时器的使用、事件监听

文章目录 前言一、定时器1.1定时器是什么1.2 setInterval函数1.3 关闭定时器clearInterval 二、事件监听2.1 事件监听是什么2.2 事件监听的使用基本语法点击事件鼠标事件焦点事件键盘事件 2.3 事件对象event 总结 前言 JavaScript 中的定时器和事件监听是 Web 开发中至关重要的…

leetcode hot100组合

在本题中&#xff0c;是要求返回[1,n]这个数组的长度为k的组合。涉及到排列、组合、棋盘、分割等问题的时候&#xff0c;要考虑利用回溯来进行解决。 回溯和递归类似&#xff0c;也分为三步进行分析 确定递归函数的返回值和参数&#xff1a;一般来说返回值都是void&#xff0c…

黑豹程序员-vue实现两级联动下拉列表

需求 在开发中这类需求很多&#xff0c;前后两个下拉框有紧密关系&#xff0c;第一个下拉框相当于一个分类&#xff0c;选中第一个下拉框中的某个分类后&#xff0c;第二个下拉框的内容随之改变&#xff0c;列出其分类下的选项。 图例 选中某个一级风险领域后&#xff0c;二级…

时间数据前端显示格式化

背景 在实际我们通常需要在前端显示对数据操作的时间或者最近的更新时间&#xff0c;如果我们只是简单的使用 LocalDateTime.now()来传入数据不进行任何处理那么我们就会得到非常难看的数据 解决方式&#xff1a; 1). 方式一 在属性上加上注解&#xff0c;对日期进行格式…

【Linux】Linux进度条小程序(包含色块实现)

我们再将Linux常用工具与命令都学会了之后&#xff0c; 设计进度条这个小程序可以比较好的帮助我们进行一定程度练习与巩固 目录 预备知识&#xff1a;回车换行&#xff1a;缓冲区&#xff1a; 进度条&#xff1a;准备工作&#xff1a;主题思路&#xff1a;代码实现&#xff1a…

图片保存后多了个水印?教你如何用华为手机保存无水印图片

对于各类生活App的深度用户来说&#xff0c;有时候碰到实用的生活技巧、攻略&#xff0c;甚至是一张好看的风景照&#xff0c;都会第一时间想要长按把图片保存到手机相册&#xff0c;有时候还会分享给朋友、朋友圈。 但是有些图片在App上显示的时候是干净的&#xff0c;保存下…

基于SQL注入漏洞的总结与归纳(个人学习 整理归纳复习

第一节 我们首先要知道什么是SQL注入漏洞 SQL注入常见的web漏洞&#xff0c;形成的主要原因是web应用程序在接收相关数据参数时未做好过滤&#xff0c;将其直接带入到数据库中查询&#xff0c;导致攻击者可以拼接执行构造的SQL语句。 像这样我们输入?id1 我们可以获得id1的信…

【QT+QGIS跨平台编译】之九:【LZ4+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、LZ4介绍二、文件下载三、文件分析四、pro文件五、编译实践一、LZ4介绍 LZ4是一种无损压缩算法,压缩速度为每核心400MB/s。 LZ4是目前效率最高的压缩算法,更加侧重于压缩/解压缩速度,压缩比并不突出,本质上就是时间换空间。 LZ4库是使用BSD许可证作为开放源码…

基于LLaMA-Factory的微调记录

文章目录 数据模型准备基于网页的简单微调基于网页的简单评测基于网页的简单聊天 LLaMA-Factory是一个非常好用的无代码微调框架&#xff0c;不管是在模型、微调方式还是参数设置上都提供了非常完备的支持&#xff0c;下面是对微调全过程的一个记录。 数据模型准备 微调时一般…

奔图P1家用激光打印机测评:小巧精致,高效便捷,开启打印新革命

在当今数字化时代&#xff0c;办公方式越来越灵活&#xff0c;日常学习也有很多作业、习题需要打印&#xff0c;无论是为了满足日常的学习、工作需求&#xff0c;还是为了追求个人兴趣、丰富业余生活&#xff0c;我们都离不开打印机的身影。打印机这个曾经被视为专业领域的设备…