给出一个坐标对的列表,输出第一个和最后一个x坐标之间的值的梯形Riemann和。
您将得到一个排序的坐标对列表,如下所示:
[
[1,2],
[3,5],
[5,11]
]请注意,x-坐标总是按递增顺序排列,ys可能不会.
我的方法是(你可能会发现另一种方式):
获取对坐标:
[1,2],[3,5] and [3,5],[5,11]对于每一对(让我们从第一对开始):
对所有的人都这样做。让我们快速浏览下一个,3,5,5,11。
Y值平均值= (5 + 11) /2=8 x值差=(5-3)=2乘积=2*8= 16
现在取所有值之和,结果是16+7 = 23。
这是密码-高尔夫,最短的胜利!
[ [1,2], [3,5], [5,11] ] => 23
[ [3,4], [4,1], [7,5] ] => 11.5
[ [0,0], [9,9] ] => 40.5
[ [1,1], [2,3], [3,1], [4,3] ] => 6注意,输入总是包含非负整数.在我亲手解决的时候,告诉我是否有任何测试病例是错误的。
您可以选择一个平面列表,或者用x和y交换的列表。
发布于 2021-06-16 10:25:54
https://codegolf.stackexchange.com/questions/229796
复制相似问题