algorithm 相关问题

算法是一系列明确定义的步骤,用于定义问题的抽象解决方案。当您的问题与算法设计相关时,请使用此标记。

这是使用 6k+-1 规则的正确素数算法吗?

这个算法正确吗?我检查前 1,000,000 个素数,它可以工作,但我猜它只检查 6k-1 def is_prime(n): 如果 n <= 1: return False if n <= 3: return T...

回答 1 投票 0

我需要选择一种压缩算法

我需要选择一种压缩算法来压缩一些数据。我不知道我将提前压缩的数据类型(可以将其想象为有点像 WinRAR 程序)。 我听说过以下...

回答 6 投票 0

如何将这个自上而下的dp转换为自下而上的dp

给定两个大小为 n 和 m 的正整数数组 a 和 b,其中 n >= m,任务是通过在第二个数组中插入零来最大化点积,但不能扰乱 ele 的顺序...

回答 1 投票 0

位和字节移位 C++

我有一个相当有趣的任务。我需要通过位的切除来执行位移位。也就是说,我有一个二进制 .bin 文件。前16个字节必须被跳过,字节编号从0开始,...

回答 1 投票 0

当矩形的角被切掉时,得到尽可能最大的矩形

所以我们有一个矩形,假设尺寸为 120 英尺长、72 英尺宽和 20 毫米厚(我们假设厚度可以忽略不计,因此将此长方体视为 2D 矩形)。我想使用 JavaSc...

回答 1 投票 0

从一点找到圆的切点

圆心:Cx,Cy 圆半径:a 我们需要绘制切线的点:Px,Py 考虑到上述所有情况,我需要公式来找到两条切线 (t1x, t1y) 和 (t2x,t2y)。 编辑:是

回答 6 投票 0

当我在中间引入循环时,单链表丢失的部分会发生什么?

我创建了一个单链表,显示后是这样的: 19-->85-->50-->20-->33-->9-->1-->7-->空 我创建了一个方法,可以将节点添加到...

回答 1 投票 0

快速BCD加法

这个问题的灵感来自于我最近在 Stackoverflow 上遇到的一个问题。它提醒我,在 x86-64 ISA 开发的早期,我曾编写过用于 BCD 加法的 32 位 x86 代码...

回答 1 投票 0

求最大子数组之和

这是OA里问的。给定一个大小为 n 的正整数数组。 从 0 到 n 循环,对于数组中的每个项目,选择当前项目可能的最大子数组并将子数组大小添加到

回答 1 投票 0

两个 N^4 集合的快速交集

我正在寻找一种算法,它返回两个给定的 N^4 列表/集合的交集(长度)(更准确地说在 [|0;7|]^4 中)。我不希望得到特定编程语言的答案...

回答 2 投票 0

实现以获得最大积分的逻辑

我正在尝试解决我之前发布的这个问题:计算获得的最大积分 示例 有 n = 3 个 sprint,每个 sprint 的天数为 days = [2,3,2],k=4。 最大数量...

回答 1 投票 0

有效计算可以从一组点构造的等边和等腰三角形的数量

我有笛卡尔坐标系中各个点的坐标(坐标是整数),我需要计算我可以构造的等边和等腰三角形的数量...

回答 1 投票 0

如何生成CUSIP校验位

CUSIP 是一个 9 位字母数字代码,用于唯一标识金融证券。 https://en.wikipedia.org/wiki/CUSIP 它们于 1964 年发明,并考虑到数据传输的可靠性...

回答 4 投票 0

找到允许的最大负数

给定一个大小为 n 的正数数组,从该数组中选取尽可能多的项并乘以 -1,使得累积和始终大于 0。返回可以有多少项...

回答 1 投票 0

为什么我在hackerearth平台上遇到MLE(超出内存限制)

如果您不知道解决方案,请留下它,其他人会给出答案,但不要投反对票。 t = int(输入()) 对于范围 (t) 内的 i: x,l,n = map(int, input().split()) 对于范围内的 xi (x,-1,-1...

回答 1 投票 0

我在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

修复此 numpy 函数,使其接受多维输入

我正在尝试计算以下函数: 地质衰变函数: 在 numpy 中,必须进行向量化。这种情况下的问题是它应该适用于多维输入。例如,x 具有维度...

回答 1 投票 0

运输问题与分支定界法

我必须解决具有这些限制的运输问题(A是供应行,B是需求列,矩阵有运输价格): 甲\乙 6 15 7 8 8 17 号 10 8 5 9 16 8 4 3 4 11 12 ...

回答 1 投票 0

有效计算一组点可以构造的等边三角形的数量

我有笛卡尔坐标系中各个点的坐标,我需要计算可以在它们上构造的等边三角形的数量。我怎样才能像

回答 1 投票 0

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

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

回答 2 投票 0

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