首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >减少使用最低值

减少使用最低值
EN

Code Golf用户
提问于 2018-06-04 20:38:00
回答 18查看 1.1K关注 0票数 11

挑战

创建一个函数,该函数接受一个数字数组,并从每个元素中减去尚未从另一个元素减去的数组中最低的元素。

  • 使用最低值后,不能再使用它。
  • 数组中的数字是十进制数,不一定是整数。

示例:

代码语言:javascript
复制
Input: [6, 4, 7, 8, 9, 2, 1, 4]

Next lowest value:          Output:
[6, 4, 7, 8, 9, 2, 1, 4]    [6, 4, 7, 8, 9, 2, 1, 4]
                   ^         ^
                            6-1 = 5
[6, 4, 7, 8, 9, 2, -, 4]    [5, 4, 7, 8, 9, 2, 1, 4]
                ^               ^
                            4-2 = 2
[6, 4, 7, 8, 9, -, -, 4]    [5, 2, 7, 8, 9, 2, 1, 4]
    ^                              ^
                            7-4 = 3
[6, -, 7, 8, 9, -, -, 4]    [5, 2, 3, 8, 9, 2, 1, 4]
                      ^               ^
                            8-4 = 4
[6, -, 7, 8, 9, -, -, -]    [5, 2, 3, 4, 9, 2, 1, 4]
 ^                                       ^
                            9-6 = 3
[-, -, 7, 8, 9, -, -, -]    [5, 2, 3, 4, 3, 2, 1, 4]
       ^                                    ^
                            2-7 = -5
[-, -, -, 8, 9, -, -, -]    [5, 2, 3, 4, 3,-5, 1, 4]
          ^                                    ^
                            1-8 = -7
[-, -, -, -, 9, -, -, -]    [5, 2, 3, 4, 3,-5,-7, 4]
             ^                                    ^
                            4-9 = -5

Final output: [5, 2, 3, 4, 3, -5, -7, -5]

测试用例

Input: [6, 4, 7, 8, 9, 2, 1, 4] => Output: [5, 2, 3, 4, 3, -5, -7, -5]

Input: [4, 7, 4, 9, -10, 8, 40] => Output: [14, 3, 0, 2, -18, -1, 0]

Input: [0.25, -0.5, 8, 9, -10] => Output: [10.25, 0, 7.75, 1, -19]

Input: [3, 4, 9, 1, 1, 1, -5] => Output: [8, 3, 8, 0, -2, -3, -14]

这是密码-高尔夫,所以以字节为单位的最短答案获胜。

EN

回答 18

Code Golf用户

发布于 2018-06-04 21:25:00

果冻,2字节

代码语言:javascript
复制
_Ṣ

在网上试试!

尝试所有测试用例

代码语言:javascript
复制
_   # Subtract from...
 Ṣ  # The input array sorted 
票数 15
EN

Code Golf用户

发布于 2018-06-04 22:01:11

马蒂尔,3字节

代码语言:javascript
复制
tS-

在网上试试!

代码语言:javascript
复制
(implicit input as an array)
t                              # duplicate
 S                             # sort
  -                            # element-wise subtract
(implicit output)
票数 5
EN

Code Golf用户

发布于 2018-06-04 20:57:24

外壳,4字节

代码语言:javascript
复制
Ṡz-O

在网上试试!

解释

代码语言:javascript
复制
      -- input, e.g. [6,4,7,8,9,2,1,4]
   O  -- sort        [1,2,4,4,6,7,8,9]
Ṡz-   -- element wise difference to input: [6-1,4-2,7-4,8-4,9-6,2-7,1-8,4-9]
      -- return result [5,2,3,4,3,-5,-7,-5]
票数 4
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/166140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档