题解 | 健身动作解析2

健身动作解析2

https://www.nowcoder.com/practice/60deb4014fb14e2db8c995ecf41f4cf1

健身动作解析2 - 题解

一、题目分析

本题要求从健身训练文本中提取动作记录,输出entries数组,每条包含:

  • action:动作枚举(BENCH_PRESS/SQUAT/DEADLIFT/OHP/OTHER等)
  • final_weight:最终重量(kg),需处理磅转换和单边+杆重计算
  • sets/reps:组数和次数
  • exercise_mode:练习模式(STANDARD/REST_PAUSE/CLUSTER)

支持多动作解析,后续动作可继承前一个动作的参数。

二、难点分析

  1. 杆重随动作类型变化:同样"每边30kg",深蹲杆重25kg(总75kg),推举杆重15kg(总75kg变65kg...不对,是75.0 vs 75.0...实际是30x2+25=85 vs 30x2+15=75)。模型容易用固定杆重。
  2. 三种练习模式的格式判定5x5是STANDARD,10+5+3是REST_PAUSE,2,2,2,2,2是CLUSTER。需要从标点符号推断模式,而非语义。
  3. 多动作继承+杆重重算:当后续动作继承"每边X"时,重量必须用新动作的杆重重新计算,而非直接继承final_weight数值。
  4. REST_PAUSE的sets固定为110+5+3看起来像3组,但实际是1组中的暂停-续做,sets=1,reps=18。

三、Prompt设计思路

3.1 杆重查表格式化

用表格清晰展示每种动作对应的杆重:| 动作 | 杆重 || SQUAT/DEADLIFT | 25kg || BENCH_PRESS/OHP/INCLINE_PRESS | 15kg || OTHER | 0kg |

避免模型混记,同时用对比示例强化:深蹲每边30=85.0 vs 推举每边30=75.0。

3.2 练习模式用符号特征判定

将判定逻辑简化为纯符号匹配:

  • x -> STANDARD
  • + -> REST_PAUSE(sets固定1,reps求和)
  • , -> CLUSTER(sets=逗号分隔个数,reps=单个数值)

这比语义描述更不容易出错。

3.3 继承规则单独成章

多动作继承是本题最复杂的部分,用3个完整示例覆盖:

  • 深蹲每边30 5x5 -> 推举"同上":继承每边30但杆重变化
  • 深蹲100kg REST_PAUSE -> 硬拉每边40:仅继承组次数
  • 硬拉CLUSTER -> 深蹲每边40 -> 卧推(无参数):三动作链式继承

每个示例明确标注哪些参数继承、哪些重算。

3.4 重量计算分情况列举

将重量归一化分为A/B/C三种情况:

  • A:直接给出总重量 -> 直接用
  • B:磅数 -> 除以2.2
  • C:单边重量 -> x2+杆重

分类后逐一说明,比混在一起描述更清晰。

四、关键技巧

  1. 杆重差异用对比示例强调:同样"每边30"在不同动作下的不同结果并排展示,比单独说明更有效。
  2. REST_PAUSE的sets=1用公式固定:直接写死sets=1,不给模型"数加号个数"的错误推理空间。
  3. 继承时重算公式显式写出继承"每边40" -> 40x2+15(卧推杆重)=95.0,在示例中展示重算过程。
  4. 动作名称映射表前置:将中文别名到枚举的映射放在规则最前面,让模型先确定action再查杆重表。
  5. CLUSTER的reps取单个值而非总和2,2,2,2,2 -> reps=2,与REST_PAUSE的求和形成对比,用示例区分。
全部评论

相关推荐

03-06 12:44
已编辑
吉林大学 Java
是个千人厂,没听过名字。1. 做一个自我介绍。2. 你这个项目和技术栈从哪里学的?有报辅导班嘛[答 都是是自己网上学的,学校教的东西没用]3. 我看了你放在github上的项目,前端也是你写的嘛[答 AI写的,90%精力用于后端开发,前端单纯用于作为后端逻辑的可视化技术验证(骗你的其实后端也是AI写的)]4. 好,你觉得这些技术栈研究得最深刻的是哪个[答 八股压根没背到后面,昨晚背了MySQL就说MySQL]5. 那讲一下MySQL的索引[答 从B+树选型一路吟唱到联合索引,索引失效]6. 联合索引ABC问题,AB走索引嘛,BC走索引嘛?BAC走索引嘛?A or B 走索引嘛[走,不走,走,不走。面试官点头说可以]7. 讲一下项目里Redission分布式锁实现8. Watchdog机制具体是怎么工作9. 消息队列有考虑过Kafka嘛,怎么选型的10. 你这个项目消息队列可能出现什么问题,怎么解决这个问题?[瞎扯没用的,被面试官引导答了视频处理可能产生消息堆积问题,然后开始吟唱]11. 文件分片自己写的还是用的什么框架?上传进度的Redis数据结构?上传的视频有多大?小分片大小?12. 项目里Redis会话记忆是啥意思?[面试官说不行,没人把这个全放Redis里[生气R]]13. 那这和直接查数据库有什么区别[扯了Token成本和解决幻觉问题之类的,给面试官听笑了,我最后也没绷住]14. 你平时是怎么使用AI coding的15. 算法,给了我一个leedcode链接,一看做过了。然后换了一道三数之和,也做过了。然后面试官说算了,让我讲讲思路吧反问:1.有什么需要提高的地方2.介绍一下部门业务有哪些这个面试官真的感官非常非常好,问问题还疯狂引导,感觉不会也会了。找实习  牛客AI配图神器#
查看15道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务