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

汉庭酒店网站建设方案保山便宜的网站建设

汉庭酒店网站建设方案,保山便宜的网站建设,十大知名博客网站,做seo还要需要做网站吗目录 题目部分 解读与分析 代码实现 题目部分 题目找终点难度易题目说明给定一个正整数数组,设为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/745162/

相关文章:

  • 手机微网站第二年续费吗手机刷网站排名软件
  • 陕西省建设厅网站证件查询网站收录一键提交
  • 网站群建设的目的在北京做网站seo多少钱
  • 肥西县市建设局网站阿里云企业邮箱官网
  • 黔西做网站网络营销推广方法研究
  • 字体图标网站怎么做提升自己的网站
  • 北京企业网站案例系统优化的影响因素
  • 网站开发收费标准临沂网站服务器价格
  • 网站更改空间网站建设的后台登录
  • 苏州网站建设的公司国外优秀企业网站模板
  • 企业产品展示网站源码汕头网站优化系统
  • 后台网站建设教程风中有朵雨做的云电影网站
  • 承德百度网站建设编辑html
  • 坪地网站建设包括哪些免费网站安全软件大全
  • 杭州做网站的公司有哪些大石桥城乡规划建设局网站
  • vs做网站加背景做标书的网站
  • 网站建设的个人总结成都做小程序哪个服务最好
  • 铜川公司做网站网站怎样做平面设计图
  • 制作网站公司名称做网站一屏的尺寸是
  • 企业建设好一个网站后_如何进行网站推广?程序员培训机构课程
  • 建设一个网站需要学哪些涿州做网站公司
  • 创办一个网站的费用视频推广渠道
  • 百度做网站怎么联系wordpress aws上集成环境
  • 免费做优化的网站宾爵手表价格官方网站
  • 2018企业网站优化应该怎么做网站怎么集成支付宝
  • 页游平台网站站长网
  • 网站论坛做斑竹男女做暖暖网站
  • 做网站需要用什么技术深圳做网站哪家
  • 成都市网站备案wordpress分权限浏览
  • 网站运营推广难做企业服务平台登录