You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript实现简易电梯:Codewars编程挑战求解

电梯控制编程题解决方案

嘿,我来帮你搞定Codewars上这个电梯控制的编程题!先把咱们要解决的问题掰扯清楚:

需求梳理

  • 电梯的有效运行楼层:0、1、2、3(0是底层,3是顶层)
  • 用户按下的有效按钮:字符串类型的 '0'、'1'、'2'、'3'
  • 程序返回值:电梯需要移动的相对数值,范围是 -3、-2、-1、0、1、2、3(正数代表上行,负数代表下行,0代表不用动)

核心逻辑

其实这个问题的本质就是计算目标楼层与当前楼层的差值:

  1. 把用户按下的按钮字符串转换成整数类型的目标楼层
  2. 用「目标楼层 - 当前楼层」得到的结果就是要返回的值

这个逻辑完全覆盖了所有情况:

  • 当电梯在底层(0层),用户按'3':3 - 0 = 3,返回3(正确,上行3层)
  • 当电梯在顶层(3层),用户按'0':0 - 3 = -3,返回-3(正确,下行3层)
  • 当电梯和目标楼层一致时,返回0(比如当前在1层,用户按'1')

代码实现(以Python为例)

def elevator(current_floor, button_pressed):
    # 把按钮字符串转成整数目标楼层
    target_floor = int(button_pressed)
    # 返回目标与当前楼层的差值
    return target_floor - current_floor

测试用例验证

咱们跑几个典型例子确认下:

  • 输入:current_floor=0, button_pressed='3' → 返回3
  • 输入:current_floor=3, button_pressed='0' → 返回-3
  • 输入:current_floor=1, button_pressed='1' → 返回0
  • 输入:current_floor=2, button_pressed='0' → 返回-2

如果题目还有额外的隐藏规则(比如电梯需要优先处理同方向请求之类的),你可以补充更多细节,我再帮你调整方案~

内容的提问来源于stack exchange,提问作者Oluwaseyi Sarumi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:32:15