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

网站系统繁忙产品线上推广方式都有哪些

网站系统繁忙,产品线上推广方式都有哪些,上海设计公司网站,潍坊网站搜索引擎优化华为机试 - 跳房子I 题目描述 跳房子,也叫跳飞机,是一种世界性的儿童游戏。游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格。跳房子的过程中,可以向前跳,也可以向后跳。假设房子的总格数是count,小红每…

华为机试 - 跳房子I

题目描述

跳房子,也叫跳飞机,是一种世界性的儿童游戏。游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格。跳房子的过程中,可以向前跳,也可以向后跳。假设房子的总格数是count,小红每回合可能连续跳的步数都放在数组steps中,请问数组中是否有一种步数的组合,可以让小红两个回合跳到量后一格?如果有,请输出索引和最小的步数组合。

注意:

  • 数组中的步数可以重复,但数组中的元素不能重复使用。
  • 提供的数据保证存在满足题目要求的组合,且索引和最小的步数组合是唯一的。
输入描述

第一行输入为每回合可能连续跳的步数,它是 int 整数数组类型。

第二行输入为房子总格数count,它是 int 整数类型。

  • count ≤ 1000
  • 0 ≤ steps.length ≤ 5000
  • -100000000 ≤ steps ≤ 100000000
输出描述

返回索引和最小的满足要求的步数组合(顺序保持steps中原有顺序)

示例1

输入

[1,4,5,2,2]
7

输出

[5, 2]
示例2

输入

[-1,2,4,9,6]
8

输出

[-1, 9]
解题思路

本题实际转化为在数组中找到两个数字,使得数字之和等于目标值,也就是 两数之和 等于目标值,输出要求为满足索引和最小。

暴力求解
public class JumpStep {public static void main(String[] args) {Scanner in = new Scanner(System.in);int[] steps = Arrays.stream(in.nextLine().replaceAll("[^\\-0-9,]", "").split(",")).mapToInt(Integer::parseInt).toArray();int aimStep = in.nextInt();// 维护一个最小索引和用作判断int minIndexSum = steps.length * 2;// 维护输出结果int firstNum = 0, secondNum = 0;// 暴力遍历所有组合for (int i = 0; i < steps.length; i++) {for (int j = i + 1; j < steps.length; j++) {// 满足两数之和等于目标值if(steps[i] + steps[j] == aimStep) {if(i + j < minIndexSum) {minIndexSum = i + j;firstNum = steps[i];secondNum = steps[j];}}}}System.out.println(minIndexSum == steps.length * 2 ? "" : ("[" + firstNum + "," + secondNum + "]"));}
}
哈希表
public class JumpStep {public static void main(String[] args) {Scanner in = new Scanner(System.in);int[] steps = Arrays.stream(in.nextLine().replaceAll("[^\\-0-9,]", "").split(",")).mapToInt(Integer::parseInt).toArray();int aimStep = in.nextInt();// 维护一个最小索引和用作判断int minIndexSum = steps.length * 2;// 维护输出结果int firstNum = 0, secondNum = 0;// 存储数字与索引Map<Integer, Integer> numIndexMap = new HashMap<>();for (int i = 0; i < steps.length; i++) {Integer otherIndex = numIndexMap.get(aimStep - steps[i]);// 如果在map中找到了目标值(aimStep - steps[i]),说明当前的 steps[i] + steps[otherIndex] = aimStepif(null != otherIndex) {// 如果索引和小于前面符合条件的索引和,则更新结果if(i + otherIndex < minIndexSum) {minIndexSum = i + otherIndex;firstNum = steps[otherIndex];secondNum = steps[i];}}// 此处需要考虑情况,数组中存在重复数值,比如说 2, 3, 2, 4, 3 aim=6// 咱们不能在遍历时直接 put,这样相同数值的下标将会被更新// 咱们需要计算最小索引和,那么对于重复数值,只需要维护最小的索引即可if(!numIndexMap.containsKey(steps[i])) {numIndexMap.put(steps[i], i);}}System.out.println(minIndexSum == steps.length * 2 ? "" : ("[" + firstNum + "," + secondNum + "]"));}
}
http://www.dtcms.com/wzjs/462507.html

相关文章:

  • 做淘宝客网站详细步骤晋江友情链接是什么意思
  • 注册网站会员违法网站优化排名网站
  • 郑州影楼网站建设erp123登录入口
  • 中国著名十大vi设计案例百度seo刷排名网址
  • 便捷网站建设百度大全下载
  • 虚拟主机多网站电子制作网站
  • 网站建设哪些公司好网站收录量
  • 可以做动漫的网站中国突然宣布大消息
  • 做网站需要多少钱百度链接收录
  • wordpress评分管理插件seo查询站长工具
  • 大良网站建设服务旺道seo软件技术
  • 广州建站哪个济南兴田德润实惠吗百度会员登录入口
  • 网站备案怎么做超链接云南网站建设快速优化
  • b2b免费发布企业网站大全2345浏览器网址
  • 网站pv是什么意思seo怎么才能优化好
  • 各行业网站建设方案书排名优化seo
  • 如东建设局网站域名注册商有哪些
  • 企业邮箱密码忘了怎么重置密码长沙谷歌seo
  • 校考前做试题的网站百度客服转人工
  • 后期网站建设及维护推广百度指数怎么查
  • 做tb任务赚钱的网站seo外链推广工具下载
  • typecho 和WordPress万秀服务不错的seo推广
  • 西安手机网站网络建站公司
  • wordpress 博客改成文章seo百度刷排名
  • 建网站不花钱免费最新搜索引擎排名
  • 营销型网站改版教育培训机构管理系统
  • 简单网站设计价格自己建网站怎么弄
  • 网站建设与制作考试题网络营销工作内容和职责
  • 西安网站设计学校品牌营销策划方案怎么做才好
  • 装饰工程公司经营范围包括哪些?英文关键词seo