所以,我刚刚进行了一次在线编程评估,给了我两个问题,其中一个是这个连续的子数组和提供了两个复杂的编码问题+8个MCQ,并将在1小时内完成。
这里我将讨论上面提到的子数组的最大邻接和之一。通常,我发现困难的部分是处理负数和连续。我所做的是首先将collection.sort(arr)
应用到给定的数组,然后再次按照负值的绝对值排序,就像i的一样。啊。得到(我)!=ABS(arr.get(i))对于J。如果arr.get(i)>arr.get(j),那么交换,所以最终的数组是-1,-2,3,4,5
例如,对于给定的随机数组,我在每个i和所有j迭代后都有一个max,如果max
我认为你把连续子数组问题误认为是子集问题,因为你不应该在逻辑中使用排序。你可以在这里引用这个问题,它也处理负数。https://www.geeksforgeeks.org/maste-sum-contiguous-subarray/
在长度为N的数组中求和最大的邻接子数组。 输入格式: 输出格式: 返回一个整数,表示相邻子数组的最大可能和。 制约因素: 输入2:A=[-2,1,-3,4,-1,2,1,-5,4] 产出2:6 说明2:子数组[4,-1,2,1]的最大可能和为6。 你能告诉我为什么下面的代码不起作用,代码中的错误是什么吗:
例如:如果数组是[9,8,7,6,5,4,3,1,2,2],它应该返回46(长度为7的子数组[9,8,7,6,5,4,3]和长度为2的子数组[2,2]之和)。不能组合[9,8,7,6,5,4,3]和[1,2,2],因为这将产生长度为10的非素数的连续子数组(幂等性)。 有谁能解释一下如何使用DP来解决这类问题吗?多谢了。
我试图研究邻接子阵列,但我没有得到任何解释这个概念的研究材料。 但是我发现了一个例子,它说给定数组[-2,1,-3,4,-1,2,1,-5,4],相邻的子数组是[4,-1,2,1]
我必须解决一个很像最大子数组问题的问题。我必须找到平均值大于k的最大子数组。我以为下面这招。我可以将大小为n的数组a[]转换为B[],其中B[I]=a[I]-K。所以现在平均值一定>0。但是平均值大于零并不意味着总和大于零?所以我可以直接应用Kadane的算法。我说的对吗?(总是在有1个正值的约束下)
实现图的最简单的方法之一是使用二维矩阵。在该矩阵实现中,每个行和列表示图中的顶点。存储在行 v 和列 w 的交叉点处的单元中的值表示是否存在从顶点 v 到顶点 w 的边。 当两个顶点通过边连接时,我们说它们是相邻的。 Figure 3 展示了 Figure 2 中的图的邻接矩阵。单元格中的值表示从顶点 v 到顶点 w 的边的权重。 Figure 3 邻接矩阵的优点是简单,对于小图,很容易看到哪些节