当前位置: 首页> 房产> 市场 > 免费html5网站模板_网页制作作业代码_如何做网页_网站推广的作用在哪里

免费html5网站模板_网页制作作业代码_如何做网页_网站推广的作用在哪里

时间:2025/7/9 15:09:48来源:https://blog.csdn.net/yunjin0101/article/details/145683179 浏览次数:0次
免费html5网站模板_网页制作作业代码_如何做网页_网站推广的作用在哪里

标题

机器人送餐最短路径
58充电堡餐厅为了提升员工就餐体验,研发一个送餐机器人,用于为在线下单的就餐人员送餐。
餐桌分布为一个比较工整的网格图,每一个餐桌座位都是坐标轴上第一象限中的一个整点,如图所示。
员工随意挑选座位后并下单。厨房收集订单信息。由机器人从默认起始位置(0, 0)开始送餐
机器人每1步只能移动一个座位,不能走对角线。机器人可以向x轴正方向,x轴负方向,或者y轴正方向移动1个单位(出于某种原因,机器人不能向y轴的负方向移动)
例如,如果当前时刻机器人所在的坐标为(x, y),下一步机器人可能可以到达的位置为(x + 1, y),(x - 1, y)或者(x, y + 1)。当机器人到达某个餐桌座位时,就餐人员就会立即取餐。一旦机器人分发完所有的饭菜,则表示送餐结束
写一个函数delivery,帮它计算一下送完一次订单最少所需要花费的总步数

/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param order int整型二维数组 订单信息* @return int整型*/
function delivery(order) {// 修改订单排序1,order.sort((a, b) => {return a[1] - b[1];});order.forEach((item, index) => {if (index > 0 && order[index - 1][0] > item[1]) {const filerList = order.filter((itm) => itm[1] == item[1]).sort((a, b) => b[0] - a[0]);order.splice(index, filerList.length, ...filerList);}});let stepNum = 0;order.forEach((item, index) => {if (index === 0) {stepNum = item[0] + item[1];} else {let lastStep = order[index - 1];let xStep =item[0] - lastStep[0] > 0? item[0] - lastStep[0]: lastStep[0] - item[0];let yStep = item[1] - lastStep[1];stepNum = stepNum + xStep + yStep;}});console.log("stepNum==>", stepNum);return stepNum;
}
module.exports = {delivery: delivery,
};
//自测
delivery([[1, 1], [1, 2], [2, 2], [1, 3], [3, 3], [2, 6]])

自测:
我的代码测试出来的步数是12;可是最终的答案是10.我百思不得其解,也没有找到对应的答案;暂且记下来,希望以后得到解答

关键字:免费html5网站模板_网页制作作业代码_如何做网页_网站推广的作用在哪里

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: