AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P3004. 跳房子II

中等通过率 38% · 提交 1,754 · 通过 663
双指针排序哈希表枚举

小慕正在设计一个跳格子游戏的关卡,格子的总数为count。每回合,小慕可以从给定的步数数组steps中选择一个步数,连续向前跳对应的格子数。三个回合内,小慕需要恰好跳到最后一格。 如果存在这样的步数组合,请输出其中数组索引之和最小的组合。题目保证这样的组合是唯一的。 注意:数组中的步数可以重复出现,但每个元素只能使用一次。

提示:带虚线的词点一下有通俗解释。

输入描述

<p> 第一行输入为房子总格数count,它是整数类型int。 </p> <p> 第二行输入为每回合可能连续跳过的步数,它是整数数组类型。 </p> <div data-page-id="ToeTdcktfornt7xN5G7cTTB1nVf" data-docx-has-block-data="false"> <ul start="1" class="list-bullet1"> <li class="ace-line ace-line old-record-id-MvjCdjmp9oHhmbxbfPUcW0Ywn4f" data-list="bullet"> count <= 10000; </li> <li class="ace-line ace-line old-record-id-Njldd5Wryokmr2xena4c4Bydnod" data-list="bullet"> 3 <= steps.length <= 10000; </li> <li class="ace-line ace-line old-record-id-Eg1WdZbI2oRryvxqV4lcNnpun1f" data-list="bullet"> -100000 <= steps[i] <= 100000; </li> </ul> </div> <span data-lark-record-data="{"isCut":false,"rootId":"ToeTdcktfornt7xN5G7cTTB1nVf","parentId":"ToeTdcktfornt7xN5G7cTTB1nVf","blockIds":[18,19,20],"recordIds":["MvjCdjmp9oHhmbxbfPUcW0Ywn4f","Njldd5Wryokmr2xena4c4Bydnod","Eg1WdZbI2oRryvxqV4lcNnpun1f"],"recordMap":{"MvjCdjmp9oHhmbxbfPUcW0Ywn4f":{"id":"MvjCdjmp9oHhmbxbfPUcW0Ywn4f","snapshot":{"type":"bullet","parent_id":"ToeTdcktfornt7xN5G7cTTB1nVf","comments":[],"revisions":null,"locked":false,"hidden":false,"author":"7226281319222214684","children":[],"text":{"initialAttributedTexts":{"text":{"0":"count <= 10000;"},"attribs":{"0":"*0+f"}},"apool":{"numToAttrib":{"0":["author","7226281319222214684"]},"nextNum":1}},"align":"","folded":false}},"Njldd5Wryokmr2xena4c4Bydnod":{"id":"Njldd5Wryokmr2xena4c4Bydnod","snapshot":{"type":"bullet","parent_id":"ToeTdcktfornt7xN5G7cTTB1nVf","comments":[],"revisions":null,"locked":false,"hidden":false,"author":"7226281319222214684","children":[],"text":{"apool":{"nextNum":1,"numToAttrib":{"0":["author","7226281319222214684"]}},"initialAttributedTexts":{"attribs":{"0":"*0+r"},"text":{"0":"3 <= steps.length <= 10000;"}}},"align":"","folded":false}},"Eg1WdZbI2oRryvxqV4lcNnpun1f":{"id":"Eg1WdZbI2oRryvxqV4lcNnpun1f","snapshot":{"type":"bullet","parent_id":"ToeTdcktfornt7xN5G7cTTB1nVf","comments":[],"revisions":null,"locked":false,"hidden":false,"author":"7226281319222214684","children":[],"text":{"initialAttributedTexts":{"text":{"0":"-100000 <= steps[i] <= 100000;"},"attribs":{"0":"*0+u"}},"apool":{"numToAttrib":{"0":["author","7226281319222214684"]},"nextNum":1}},"align":"","folded":false}},"ToeTdcktfornt7xN5G7cTTB1nVf":{"id":"ToeTdcktfornt7xN5G7cTTB1nVf","snapshot":{"type":"page","parent_id":"","comments":[],"revisions":null,"locked":false,"hidden":false,"author":"7226281319222214684","children":["doxcnUob58enVh61pztWWS4pWAe","doxcnH1yOt0BWjHwbDWIgsvlgwb","JjF8dr8haoYGH0xy823cdkgInwd","KqzHdILZQojNHoxJ8LWcuK0gnig","W0n4dXWYcouu4uxfnt4cdmHOnVf","CLrMde8udoF8E6xh8nfcIzsgnLc","Ly3udDH2ooJOB6xiuW7cvzU1nbd","doxcnnC5z7g2P2eJllVXjupm4gc","doxcneEnoPzC9mQ2ExiLwM7kyxe","FJzPdVyk3osEGEx3FcJcs74inoh","RQBCdmtb3oliCQx9sw9cxwIKnbc","doxcn0Zb29frQQlpJPS1MUG3jrc","doxcnPXgtzuJS4AE4dxh6XCGYge","JnZXdlWmmoYENNxpQkMcYUUNnHd","AWqHdAytio4yyYxzQ5wc1cLOnIg","GCKwd5vKAo0kjox2lW7cY2DSncc","MvjCdjmp9oHhmbxbfPUcW0Ywn4f","Njldd5Wryokmr2xena4c4Bydnod","Eg1WdZbI2oRryvxqV4lcNnpun1f","doxcnzmv8HiFI9xJJNuZh6cx9Tf","doxcn0fWY0uU9ancXr6cpYljs8e","doxcnkR9uGMm6tyHzJa5n2GVZQd","doxcnGF4tHP43ReLDceLi4tJtGg","doxcnR55EscPWbudN8FB2AKP9Fc","doxcnxsI7ubB6oI8wgrPqAhCBzf","InhYdo1MsoGkOHxychrcSRr9ndf","doxcnVERLFS6gLZ72Cy1aID5xRf","doxcnpbMdnPbLVi0RNvcwy8iWPd","doxcnZNzTHuCsAC0NGHbKUr1Zlf","doxcneEf6NaaHiNKvYoBYi4H1zb","doxcnfSWoZX6xUHx1wwKWDb6vNf","doxcnljjfvCfZq6kk2jvz2ke3Kf","HYPydJZSgob0rixXJohcJAoZnzg","ULwhd7PjGo8wRFxrrqRcq6Ulnfe","TsnjdxEcRostVPxXmmecPAZEnLh","IlKTdcrv4oflONxrDdWcSBxen1e","F8QfdOmNFoygdJxHGh2cqa2rn3d","doxcnk6ZFC6FbNooE7rhxOchGyc","doxcnsxFDgERcenEtuxvQfkdS5d","doxcn7194pvski0fKukAyw4spBe","IiNldVwMGoDj5exu05bcmLe6n3e","doxcnH7MuBQivQO5FJBEUlTv3we","doxcntPYyMVh9M59NcmdSBfZPtf","JylHdVAcYoVRcqxsIXVcltfZned","ZeeYd7LnZoM2S4xW4nfcwLLwnfd","S1r1dFuQXou9ENxXSpTc6OxLnfg","HM4udX2BdosXwpxxMsicFbQ7nue","Xs2UdDOmpoIQYwxIoTIcgnzsnfh","Sn4dd5XIDozvebxQJlhc3Yubnif","Z2lhdDlnnoyAJLx75xBctzLMnCg","doxcnpYOuc5CyoyJRLIIBCdblMg","doxcnfb5M98furOP4EJ0RvO2fOg","doxcnY4DyMu5DqgXQ7W1MtTrL7d","doxcn5RehHhAWjEklwyRqVhrX7e","doxcn920yLnCMmzFW1E5Yq46svf"],"text":{"apool":{"nextNum":2,"numToAttrib":{"0":["author","7226281319222214684"],"1":["author","7115054903550050305"]}},"initialAttributedTexts":{"attribs":{"0":"*0+1*1+3*0+c"},"text":{"0":"【双指针】2023B-跳房子II"}}},"align":"","doc_info":{"editors":["7226281319222214684","7115054903550050305"],"options":["editors","create_time"],"deleted_editors":[]}}}},"payloadMap":{},"extra":{"mention_page_title":{},"external_mention_url":{}},"isKeepQuoteContainer":false,"selection":[{"id":18,"type":"text","selection":{"start":0,"end":15},"recordId":"MvjCdjmp9oHhmbxbfPUcW0Ywn4f"},{"id":19,"type":"text","selection":{"start":0,"end":27},"recordId":"Njldd5Wryokmr2xena4c4Bydnod"},{"id":20,"type":"text","selection":{"start":0,"end":30},"recordId":"Eg1WdZbI2oRryvxqV4lcNnpun1f"}],"pasteFlag":"1887e896-cecb-4477-a189-de8260dc8297"}" data-lark-record-format="docx/record" class="lark-record-clipboard"></span> <p> <br /> </p>

输出描述

<p> 返回索引和最小满足要求的步数组合。 </p> <p> 注意:顺序保持steps中的原有顺序。 </p>

示例

示例 1

输入

1,5,2,0,2,4
9

输出

5,2,2

示例 2

输入

1,4,5,2,0,2
9

输出

4,5,0

示例 3

输入

-1,2,4,9
12

输出

-1,4,9

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
跳房子II - 三回合选步数 索引0 索引1 索引2 索引3 索引4 索引5 1 4 5 2 0 2 第1回合: 4 第2回合: 5 第3回合: 0 4 + 5 + 0 = 9 (总格数) 索引和 = 1 + 2 + 4 = 7
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「跳房子II」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。