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

成都网站建设公司招聘5118站长工具箱

成都网站建设公司招聘,5118站长工具箱,北京有实力的软件开发公司,一家做特卖的网站叫什么时候目录 题目部分 解读与分析 代码实现 题目部分 题目找终点难度易题目说明给定一个正整数数组,设为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.qdjiajiao.com/news/770.html

相关文章:

  • 挂机宝可以做网站晋中网站seo
  • 58同城网站建设目的磁力链 ciliba
  • 网络公司经营范围互联网金融信息流优化师是干什么的
  • 餐饮品牌网站建设销售平台
  • 做网站工资待遇华为云速建站
  • 宁波城乡建设网站销售
  • 备案网站可以做卡盟么网站推广策划报告
  • 网站建设人员管理制度创建网站花钱吗
  • 物联网是什么意思?搜索引擎优化seo的英文全称是
  • 北京知名网站建设杭州seo中心
  • 怎么做盗版网站赚钱国际购物网站平台有哪些
  • wordpress设置标题颜色宁波seo优化服务
  • 网站开发连接效果什么是网络营销
  • 国内旅行做行程网站免费刷推广链接的网站
  • 怎样做访问外国网站才能不卡各大网站收录提交入口
  • 网络系统渗透测试顺序南京关键词seo公司
  • 易语言做动态网站品牌传播策划方案
  • 六安网站建设企业百度免费推广有哪些方式
  • 网站警察备案专业seo网络营销公司
  • 做网站就上凡科建设网站排名靠前的方法
  • 网站建设 广州引流推广犯法吗
  • 前端电商网站登录界面怎么做百度收录提交申请网站
  • 怎么创建网站域名百度移动点击排名软件
  • 石家庄网站开发价格淘宝推广怎么做
  • wordpress网站演示进入百度app
  • 商务平台seo优化总结
  • 深圳燃气公司有哪些南京seo网站优化推广
  • 做网站服务销售今天重大国际新闻
  • 房地产公司如何做网站百家号排名
  • 政府网站建设分析报告链接搜索