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

湖北省住房和建设厅网站首页企业oa管理系统

湖北省住房和建设厅网站首页,企业oa管理系统,工业和信息化部五系网站建设,西安为什么今天紧急通知文章目录 一、题目二、题解与代码三、神奇的BUG3.1 无法执行的 return 和 break 语句3.2 通过另一个 break 解决 一、题目 有一只跳蚤的家在数轴上的位置 x 处。请你帮助它从位置 0 出发#xff0c;到达它的家。 跳蚤跳跃的规则如下#xff1a; 它可以 往前 跳恰好 a 个位… 文章目录 一、题目二、题解与代码三、神奇的BUG3.1 无法执行的 return 和 break 语句3.2 通过另一个 break 解决 一、题目 有一只跳蚤的家在数轴上的位置 x 处。请你帮助它从位置 0 出发到达它的家。 跳蚤跳跃的规则如下 它可以 往前 跳恰好 a 个位置即往右跳。它可以 往后 跳恰好 b 个位置即往左跳。它不能 连续 往后跳 2 次。它不能跳到任何 forbidden 数组中的位置。跳蚤可以往前跳超过它的家的位置但是它不能跳到负整数的位置。 给你一个整数数组 forbidden 其中 forbidden[i] 是跳蚤不能跳到的位置同时给你整数 a b 和 x 请你返回跳蚤到家的最少跳跃次数。如果没有恰好到达 x 的可行方案请你返回 -1 。 示例一 输入forbidden [14,4,18,1,15], a 3, b 15, x 9 输出3 解释往前跳 3 次0 - 3 - 6 - 9跳蚤就到家了。 示例二 输入forbidden [8,3,16,6,12,20], a 15, b 13, x 11 输出-1 示例三 输入forbidden [1,6,2,14,5,17,4], a 16, b 9, x 7 输出2 解释往前跳一次0 - 16然后往回跳一次16 - 7跳蚤就到家了。 来源力扣LeetCode 链接https://leetcode.cn/problems/minimum-jumps-to-reach-home/ 题目著作权归领扣网络所有。仅供个人学习非商用。 二、题解与代码 class Solution {public int minimumJumps(int[] forbidden, int a, int b, int x) {Queueint[] queue new ArrayDequeint[]();SetInteger visited new HashSetInteger();queue.offer(new int[]{0, 1, 0});visited.add(0);int lower 0, upper Math.max(Arrays.stream(forbidden).max().getAsInt() a, x) b;SetInteger forbiddenSet new HashSetInteger();for (int position : forbidden) {forbiddenSet.add(position);}while (!queue.isEmpty()) {int[] arr queue.poll();int position arr[0], direction arr[1], step arr[2];if (position x) {return step;}int nextPosition position a;int nextDirection 1;if (lower nextPosition nextPosition upper !visited.contains(nextPosition * nextDirection) !forbiddenSet.contains(nextPosition)) {visited.add(nextPosition * nextDirection);queue.offer(new int[]{nextPosition, nextDirection, step 1});}if (direction 1) {nextPosition position - b;nextDirection -1;if (lower nextPosition nextPosition upper !visited.contains(nextPosition * nextDirection) !forbiddenSet.contains(nextPosition)) {visited.add(nextPosition * nextDirection);queue.offer(new int[]{nextPosition, nextDirection, step 1});}}}return -1;} }作者力扣官方题解 链接https://leetcode.cn/problems/minimum-jumps-to-reach-home/solutions/2414842/dao-jia-de-zui-shao-tiao-yue-ci-shu-by-l-sza1/ 来源力扣LeetCode 著作权归作者所有。仅供个人学习非商用。 三、神奇的BUG 注本部分仅阐述发现的 BUG本部分代码并不是题解。 3.1 无法执行的 return 和 break 语句 在 LeetCode 的官网上下图红框内的 if 语句在判断结果为 true 的条件下不会执行代码块中的 return 语句在下图中可以很清楚地看到 (tmp[0] x) 在第 4 次循环时输出的结果为 true 但并没有执行 return 操作。把 Solution 类的代码 直接复制 到 IDEA 中则可以执行 IDEA 中的执行结果如下图所示 将 return 换成 break 语句也同样无法执行 大家有遇到过类似的 BUG 吗还是说有什么我没注意到的问题呢 3.2 通过另一个 break 解决 在同层次的另一个 if 语句的代码块中加入 break 语句后之前不能执行的 break 和 return 语句可以正常执行了 严谨起见我们用如下代码来查看到底是通过哪条语句的 break 退出循环的。显然是之前不能执行的那条。 当然新加入的 break 也是可执行的。
http://www.zqtcl.cn/news/780668/

相关文章:

  • 陕西 网站建设 陕ICP创建商务站点的主要工作
  • 做照明出口的网站深圳 网站制作
  • 门户网站建设 简报嘉兴设计公司有哪些
  • 资阳房地产网站建设学校网站建设板块分析
  • 山东华邦建设网站首页wordpress h5自适应
  • 合肥市建设工程劳务分包合同备案表在哪个网站下载国际国内热点新闻事件
  • 临猗做网站怎么做挣钱的网站
  • 做软装找图片的网站wordpress 表单留言
  • 360网站挂马检测wordpress路径爆出
  • 有什么网站学做标书的专门做短视频的公司
  • 网站怎么做图片动态图片短视频推广
  • 海口的网站建设网页设计欣赏可爱风格
  • 高端网站设计哪个好五莲网站建设维护推广
  • 外贸网站 测速国内创意网页设计
  • 网站商城前台模板免费下载自己做网站统计
  • 十大免费货源网站免费版本厦门建网站多少钱
  • 网站建设投标书范本深圳网页设计培训多少钱
  • 动态ip可以做网站北京万户网络
  • 网址大全免费网站中国建设银行驻莫斯科网站
  • 网站建设 教材 推荐网站导入
  • 网站备案扫描智能软件开发就业前景
  • 快速网站建设费用口碑营销图片
  • wordpress地址和站点地址错天津seo诊断
  • 张云网站建设做谷歌推广比较好的公司
  • 电子商务网站建设与管理的论文题目智能自助建站系统源码
  • 个人网站建设价格网站做视频转流量
  • 点网站出图片怎么做深圳市中心在哪
  • 企业网站建设58同城网站优化排名软件哪些最好
  • 最专业企业营销型网站建设企业宣传海报设计制作
  • 石家庄建站公司软件开发岗位介绍