loops 相关问题

循环是编程中的一种控制流结构,其中可以重复执行一系列语句直到满足某些条件。

我在minJumps问题中的思维过程有什么错误?

问题在于到达数组末尾的最小跳转次数。 我的逻辑是通过元素循环数组,直到 i+arr[i] 问题在于到达数组末尾的最小跳转次数。 我的逻辑是通过元素循环数组,直到 i+arr[i] public static int minJumps(int[] arr){ // your code here if(arr.length==1){ return -1; } int jumps=1; int maxIndex=0; int i=0; while(i+arr[i]<arr.length-1){ if(arr[i]==0){ return -1; } int max=0; for(int j=i+1;j<=arr[i]+i;j++){ if(arr[j]>=max){ max=arr[j]; maxIndex=j; } } i=maxIndex; jumps++; } return jumps; } 在 while 循环条件while(i+arr[i]<arr.length-1)中,似乎您在到达数组的最后一个元素之前停止循环。您应该将其更改为 while (i < arr.length - 1) 以也包含最后一个元素 在 for 循环 for(int j=i+1;j<=arr[i]+i;j++) 中,您需要确保 j 不超出数组边界 (j < arr.length)。否则,它可能会抛出 IndexOutOfBoundsException 如果数组包含值为 0 的元素,则代码返回 -1,这意味着不可能到达数组末尾。然而,情况可能并非总是如此。你应该更准确地处理这个问题。例如,如果当前元素为0,则可以跳过它并继续查找下一个最大可达索引 public static int minJumps(int[] arr) { if (arr.length == 1) { return 0; // if there's only one element, no jump needed } int jumps = 0; int maxReach = arr[0]; int stepsLeft = arr[0]; for (int i = 1; i < arr.length - 1; i++) { maxReach = Math.max(maxReach, i + arr[i]); stepsLeft--; if (stepsLeft == 0) { jumps++; stepsLeft = maxReach - i; } } return jumps + 1; // we need one more jump to reach the end }

回答 1 投票 0

我的for循环(c语言)在vscode中没有循环

在下面的代码中,我尝试通过创建 bool 函数来检查字符串数组中的每个字符是否按字母顺序排列。但是当我运行程序时,我的 bool 函数没有循环

回答 1 投票 0

在对象数组中按优先级顺序返回单个元素的有效方法javascript

我有以下包含三个元素的数组: 常量任务 = [{ 类型:'关键', value: '生产问题', }, { 类型:'高', 值:“服务器宕机” }, { 类型:'中', value: '备份不...

回答 1 投票 0

优化 Python 代码以查找满足特定不等式的索引对

我有一个Python代码可以有效地解决我的任务,但我担心它的时间复杂度。任务是找到不等式 aᵢ ⊕ aʲ ≥ bᵢ ⊕ bʲ 成立的索引对 (i, j) 的数量 ...

回答 2 投票 0

为什么这个字典的元组列表中的值没有打印出来?

我试图在输入浮点字符串时打印键的值。 这是我的代码: number_dict = {1: '一', 2: '二', 3: '三', 4: '四', 5: '五', 6: '六', 7: '七', 8: '八' , 9: '尼...

回答 1 投票 0

替换数组值的键对象

我在替换对象中的键时遇到问题 让 headers = ['标题1', '标题2', '标题3'] 让 obj = { 0: ['名称1','名称2,'名称3], 1:['示例1','示例2,'示例3], 2:['xx...

回答 2 投票 0

快速背景色动画循环

我希望我的 iOS 应用程序的背景颜色在 x 秒内在四种颜色之间变化 这就是我到目前为止所拥有的(当我只指定两种颜色时,它正是我想要的) 我也需要...

回答 5 投票 0

我的 while true 循环应该在休息时计数到 100,但它不起作用

我应该创建一个 while true 循环。该程序应该数到 100,并打印每个数字。然而,程序不是计算 3、5 和 3 和 5 的倍数,而是打印一个...

回答 1 投票 0

将 3D 数组数据打印为每天时间范围的 HTML 表格

我有一个多维数组,如下所示。我想在表格中显示数据,将一周中的每一天及其开始和结束时间显示在一行中。该表的预期结果是

回答 2 投票 0

OpenMP GPU 卸载向量迭代器

我有这个工作测试代码,它映射 std::vector 以进行卸载并检查计算是否正确: #包括 #包括 int main() { int vec_size = 3; ...

回答 1 投票 0

为什么JavaScript while循环在consol.log之前执行迭代器[关闭]

我希望这段代码最多只能打印 10 个。但它最多可以打印 12 个。我可以修改代码来检查 i<10 instead of i<=10. But I do not understand why the while loop goes on to print 12...

回答 2 投票 0

C 编程 - For 循环

首先,我不太擅长编程,很抱歉我的英语不好。我无法理解以下 C 程序。我可以看到该程序由一个 for 循环组成,但为什么不......

回答 2 投票 0

JavaScript while 循环打印偶数在条件为 false 后再次执行一次

我有一个简单的 while 循环来打印从 0 到 10 的偶数。我希望这段代码最多只打印 10。但它最多打印 12。我可以修改代码来检查 i<10 instead of i<=10....

回答 1 投票 0

到达 0 链后如何停止遍历位(方向 = 从最低到最高有效位)?

我有这两个函数来遍历 TypeScript 中整数的 32 位: 导出函数* walkBitsFromLSB(n: number) { 对于(令 i = 0;i < 32; i++) { // Check the least significant bit ...

回答 1 投票 0

缺少部分以忽略已更改的值

我目前正在一个网站上学习C++,他们给出了使用多维数组的示例。它显示为战舰小游戏,如下所示: #包括 使用

回答 1 投票 0

索引超出范围 - 循环练习

我是Python的初学者。在练习本网站(https://pynative.com/python-while-loop/)的“循环”练习时,我无法理解以下代码,它显示...

回答 1 投票 0

python 创建计算器,在重置循环时记住输入

我希望输入能够记住提供给它的第一个数字,即使您在第二个输入上输入了一些愚蠢的内容。虽然现在显然循环再次开始并要求两个 in...

回答 2 投票 0

为什么标签不能在end之前声明

下面的代码完美运行 宣布 x 数字:= 0; 开始 环形 如果 x > 5 那么 转到我的标签; 万一; dbms_output.put_line(x); x := 1 + x; 结束循环; << my_label >> x :=...

回答 1 投票 0

当该组中的一个节点关闭时,该组中的主机上的 Jinja2 循环会失败

我有这段代码 --- - 名称:收集事实 主办方:全部 - 主机:代理 任务: - 块文件: 路径:/etc/example 块:| {% for n in groups['all'] %} ...

回答 1 投票 0

返回重复字母最多的第一个单词

这是来自 coderbyte 的 Easy Set 的问题。很多人已经问过这个问题,但我真的很好奇我的特定解决方案出了什么问题(我知道这是一个非常愚蠢且低效的......

回答 7 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.