当前位置: 首页 > 知识库问答 >
问题:

数组中每个元素右侧较大元素的计数[闭合]

梁丘霖
2023-03-14

https://www.geeksforgeeks.org/count-of-larger-elements-on-right-side-of-each-element-in-an-array/#:~: text=朴素的做法:最简单的做法,一边然后打印出来。

我试图以大于左边数字的顺序计算数字,就像上面网站上描述的那样,但网站中的输出是arraylist,但我只想要一个数字,它是arraylist中所有元素的总和。

like输入:arr[]={3,7,1,5,9,2}输出=8(即3 1 3 1 0)

有人能告诉我该怎么做吗?(不仅仅是在代码末尾将序列中的所有元素相加)

共有1个答案

百里骏
2023-03-14

您可以为此使用Stream API(java.util.stream)。我假设您指的是数组,而不是(数组)列表,但您可以在本练习中或多或少地互换使用它。

int[] arr = {3, 1, 3 ,1, 0, 0};
int sum = Arrays.stream(arr).sum();

替代方式

List<Integer> list = List.of(3, 1, 3 ,1, 0, 0);
int sum = list.stream().reduce(0, Integer::sum);
 类似资料:
  • 传入:{ text: "子目录一", id: 880 } 期望输出: 传入:{ text: "根目录", id: 9521 } 期望输出:

  • 问题内容: 我编写了以下代码段来计算每个元素的出现次数。有可能以更短的方式实现这一目标吗? 另外,我只想显示出现1次以上的元素。所以我尝试如下修改,这导致了错误。 正确的方法是什么? 问题答案: 对于后一个问题,您必须进行更改 至 对于第一部分,尚不清楚为什么需要第一条管道,然后需要第二条管道。如果目的是将转换为,请使用: 正如Dici所建议的,您还可以将Collectors链接起来,将每个数字与

  • 我被分配了一项编程任务,但我被卡住了。其说明如下: 有一个名为“秘密圣诞老人”(给他们礼物)的游戏,有很多孩子参加。对于每个参与的孩子,都有一个来自参与孩子的秘密圣诞朋友。我必须编写一个程序,为每个参与的孩子挑选一个秘密的圣诞老人朋友。 示例:如果Bob,Alice,John和George是参与的孩子,在随机选择之后, 输出可能看起来像 具有相同输入的连续两次程序运行不应有相同的结果。 我的想法是

  • 问题内容: 整数数组包含一些元素,以使每个元素比其前一个元素多1个或小于1个。现在给了一个数字,我们需要确定该数字在数组中首次出现的索引。需要优化线性搜索。它不是功课。 问题答案: 我的算法是这样的: p = 0 如果(A [p] == x)则idx = p并且算法完成,否则转到下一步 设置p + = | xA [p] | 转到2。 说A [p]> x。然后,由于A项增加或减少1,因此idx至少可

  • 问题内容: 有人遇到过这个问题吗?假设您有两个类似以下的数组 有没有一种方法可以比较b中a中的哪些元素?例如, 我正在尝试避免循环,因为要花费数百万个元素才能解决问题。有任何想法吗? 干杯 问题答案: 实际上,有一个比以下任何一种方法更简单的解决方案: 所得的c为: