我已经完成了下面的编程练习:数组的等边。声明如下:
您将得到一个整数数组。您的任务是取这个数组并找到一个索引N,其中N左边的整数之和等于N右边的整数之和。如果没有索引可以做到这一点,则返回-1。
注意:如果给你一个数组有多个答案,返回最低正确的索引。
我已经阅读了用户Jenspiegsa提供的以下答案。这里有它的链接。
import java.util.stream.IntStream;
public class Kata {
public static int findEvenIndex(int[] arr) {
return IntStream.range(0, arr.length)
.filter(n -> IntStream.of(arr).limit(n).sum() == IntStream.of(arr).skip(n + 1).sum())
.findFirst().orElse(-1);
}
}
我想知道是否有一种方法来代替循环整个Instream过滤,其中左和右子数组是相等的,然后返回第一个;只需在返回第一个相等值时中断执行。
public class Kata {
public static int findEvenIndex(int[] arr) {
int left = 0, right = 0;
for(int i = 0; i < arr.length; i++, left = 0, right = 0){
for(int j = 0; j < i; j++){
left += arr[j];
}
for(int k = arr.length - 1; k > i; k--){
right += arr[k];
}
if(left == right) return i;
}
return -1;
}
}
如果您想要一个非O(n^2)的解决方案:
public Integer getfirstIndexEqual(Integer [] nums){
Integer sum = 0;
for (int i = 0; i < nums.length; i++){
sum += nums[i];
}
Integer half = 0;
for (int i=0; i< nums.length; i++){
if (half.floatValue() == (sum-nums[i]) / 2){
return i;
}
half += nums[i];
}
return -1;
}
查找子数组的开始索引和结束索引以使给定数组的左右边和相等的C程序。如果不可能,打印-1。我需要它为任何数组工作,这只是为了测试。这是一个找到平衡的密码。
我一直在获取输出Student@42a57993.我想打印学生[0]中的结果,我还想打印学生数组中的所有元素,有人能帮我告诉我出了什么问题吗?我有一个主要的方法类是Client,另一个是Student。
我可以用什么代码打印出用户在这个数组中输入的最高值和最低值?这个程序需要取用户输入的平均值(我已经做过了)。现在我所需要做的就是让程序打印出用户输入的最高值和最低值。
你好,stackoverflow的好人们!我有一个奇怪的问题,我不明白。我要发布我的两个有问题的方法: 另一个: 所以,我正在根据我在网上找到的一些代码制作一个数独解算器。现在,当我试着调试程序时,我可以很好地检查一些行(并且它按照预期工作),但是一旦程序第一次在方法“resi”中调用“next”方法,它就会崩溃,出现数组索引越界异常。如果我只是尝试在不进行调试的情况下运行该程序,那么在同一方法调
我为我的angular表单中的表单输入元素设计了一个加载组件,以便在从api加载字段时显示。这里,我必须向< code>app-loader组件提供组件的高度和宽度,以便它可以相应地占用空间。 现在我所做的是使用手动开关 到目前为止,我有如下所示。
我使用Selenium,需要无休止地等待页面加载(因为加载需要几个小时),然后解析其中的数据。我该怎么做? 我使用这样的一些代码: