当前位置: 首页 > news >正文

新校区建设网站龙山建设集团有限公司网站

新校区建设网站,龙山建设集团有限公司网站,网站用静态域名解析,wordpress怎么建设网站目录 题目部分 解读与分析 代码实现 题目部分 题目找终点难度易题目说明给定一个正整数数组,设为nums,最大为100个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。 要求: 1.第…

目录

题目部分

解读与分析

代码实现


题目部分

题目找终点
难度
题目说明给定一个正整数数组,设为nums,最大为100个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。

要求:
1.第一步必须从第一元素开始,且 1 <= 第一步的步长 < len/2;
(说明:len为数组的长度,需要自行解析。)
2.从第二步开始,只能以所在成员的数字走相应的步数,不能多也不能少,如果目标不可达返回-1,只输出最少的步骤数量。
3.只能向数组的尾部走,不能往回走。
输入描述由正整数组成的数组,以空格分隔,数组长度小于100,请自行解析数据数量。
输出描述正整数,表示最少的步数,如果不存在输出-1。
补充说明补充说明
------------------------------------------------------
示例
示例1
输入7 5 9 4 2 6 8 3 5 4 3 9
输出2
说明第一步:第一个选择步长 2,从第一个成员开始走 2 步,到达 9;
第二步:从 9 开始,经过自身数字 9 对应的 9 个成员到最后。 
示例2
输入1 2 3 7 1 5 9 3 2 1
输出-1
说明


解读与分析

题目解读

整形数组的长度为 len,第一步的大小可以是 [1, len/2) 中的任意一个数字,第二步和第二步以后的步数只能为当前成员的数字。

分析与思路

题目中,第一步是可选的数字,一旦第一步数字固定了,后面的所有步数都是固定的。所以,此题可变的是第一步的步数,我们可以尝试第一步所有的可能的步数,计算所有能到达最后的步数,输出这些步数中的最小值即可。如果第一步尝试了所有可能的步数,全都无法达到最后一步,则输出 -1。

以上方法的时间复杂度为O(n^{2})。


代码实现

Java代码

import java.util.Scanner;/*** 篮球比赛* @since 2023.10.08* @version 0.1* @author Frank**/
public class FindEnd {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while (sc.hasNext()) {String input = sc.nextLine();String[] numbersStr = input.split( " " );processFindEnd( numbersStr );}}private static void processFindEnd( String numbersStr[] ){int count = numbersStr.length;int[] numbers = new int[count];for( int i = 0; i < count; i ++ ){numbers[i] = Integer.parseInt( numbersStr[i] );}int minSteps = Integer.MAX_VALUE;for( int i = 1; i < count * 1.0 / 2; i ++ ){int steps = 1;int next = i;while( next < count -1 ){steps ++;next = next + numbers[next];if( next == count -1 ){if( steps < minSteps ){minSteps = steps;}					break;}}}if( minSteps == Integer.MAX_VALUE ){minSteps = -1;}System.out.println( minSteps );}}

JavaScript代码

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void async function() {while (line = await readline()) {var numberArr = line.split(" ");processFindEnd(numberArr);}
}();function processFindEnd(numbersStr) {var count = numbersStr.length;var numbers = new Array();for (var i = 0; i < count; i++) {numbers[i] = parseInt(numbersStr[i]);}var minSteps = Number.MAX_VALUE;for (var i = 1; i < count / 2; i++) {var steps = 1;var next = i;while (next < count - 1) {steps++;next = next + numbers[next];if (next == count - 1) {if (steps < minSteps) {minSteps = steps;}break;}}}if (minSteps == Number.MAX_VALUE) {minSteps = -1;}console.log(minSteps);
}

(完)

http://www.yayakq.cn/news/735769/

相关文章:

  • 山东网站备案号wordpress的免费模板
  • 17网站一起做网店后台西安网络推广公司
  • 网站跳出率怎么计算北京做网站哪里好
  • 如何做好网站针对搜索引擎的seo怎么查看网站死链
  • 有什么网站可以接活做设计做期货的一般看什么网站
  • 360网站开发红叶网站开发工作室
  • 企业网站建设服务内容糕点网站策划书
  • 在线做试卷网站好看的wordpress图片主题
  • 南昌哪里做网站比较好农产品网络营销模式
  • 长沙网站建设 个人揭阳网站制作价格
  • 不成立公司怎么做企业网站wordpress视频代码html5
  • 怎么让人理解网站建设北海网站建设服务商
  • 平面设计展示网站国家工程建设标准化信息网站
  • 网站优化资源可以做直播的游戏视频网站
  • 网站编辑软件有哪些服装公司网站策划书
  • 网站项目风险网站开发的可行性报告
  • 微信公众号网页怎么制作惠州网站建设优化
  • 地方生活门户网站建设方案杭州网站优化外包
  • 重庆信息网站推广早教网站设计
  • 浙江省建设业协会网站大连制作网站企业
  • 网站建设到那可以学习品牌整合营销
  • asp.net 网站开发实例长沙17个片区城市更新
  • 网站备案上海古典水墨网站
  • 石家庄建站模板厂家免费网站建设那个好
  • 美丽乡村 网站建设广告网页
  • 网站开通会员怎么开发专业建设网站服务
  • 企业做网站上海石家庄最新消息今天
  • 网站分几种类型网站修改备案号
  • wordpress建站门户南宁市网站开发
  • 东莞公司建网站模板新冠目前全国最新情况